JAVA 설치
1. https://www.oracle.com/kr/java/technologies/javase-jdk11-downloads.html 이동
2. macOS Installer의 jdk 다운로드
- JDK : Java Development Kit 자바로 소프트웨어를 개발할 수 있도록 기능을 담을 패키지
3. 오라클 로그인 (오라클 계정 없으면 가입)
4. 로그인되면 자동 다운로드
JAVA 버전 변경
1. 현재 기본으로 설정된 자바 버전 확인
1) 터미널에서 java -version 입력
java -version
openjdk version "1.8.0_222"
현재 버전은 자바 8(=1.8) 버전 이다.
2. 설치된 전체 자바 버전 확인
1) /usr/libexec/java_home -V
/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
12, x86_64: "Java SE 12" /Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
11.0.11, x86_64: "Java SE 11.0.11" /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home
1.8.0_222, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
- /usr/libexec : 실행 파일이 모여있는 디렉터리
- java_home : PC에 세팅된 Java와 JVM 정보를 조회하는 파일
- JVM : Java Virtual Machine (가상 머신이란 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것)
--- JVM은 자바 애플리케이션을 클래스 로더를 통해 읽고, Java API와 함께 실행한다.
--- Java 와 OS 사이에 중재자 역할을 하기에 OS에 상관없이 재사용 가능하다.
--- 메모리 관리와 Garbage Collection(GC) 역할을 한다. GC란 할당된 메모리에 더이상 사용하지 않는 메모리를 해제하는 행동
--- 스택기반 가상 머신이다. 피연산자와 결과를 스택에 저장하기에 메모리 위치를 기억할 필요가 없다.
- JVM 실행 방식
--1) 프로그램이 실행되면 JVM은 OS로 부터 메모리를 할당 받는다.
--2) 자바 컴파일러(javac)가 자바 소스(.java) 읽어 자바 바이트코드(.class)로 변환한다.
--3) 클래스로더를 통해 class 파일은 JVM으로 로딩한다.
--4) 로딩된 class 파일을 Execution engine 으로 해석한다.
--5) 해석된 바이트코드가 Runtime Data Area에 배치되어 실행된다.
3. 자바 11로 변경하기
1) sudo vi ~/.bash_profile 입력하고 비번 입력
sudo vi ~/.bash_profile
Password:
2) i 눌러 INSERT 모드로 전환하고 export 행의 버전 11로 변경
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
3) ESC 키를 누르고 :wq 입력해서 저장후 종료
4) source ~/.bash_profile 입력 (source 명령어로 변경된 패스를 실행한다.)
source ~/.bash_profile
5) 변경된 버전 확인
java -version
java version "11.0.11" 2021-04-20 LTS
IntelliJ 설치
1. 툴박스 설치 url http://www.jetbrains.com/ko-kr/toolbox-app/
2. .dmg(Intel) 다운로드
3. 툴박스에서 Community Edition(무료) 설치
'Dev > Java' 카테고리의 다른 글
[Java] && 와 &는 동일하지 않다. (0) | 2024.07.29 |
---|---|
[Java] 데이터 타입 (0) | 2024.07.28 |
[Java] JVM 구조 (0) | 2024.07.27 |
[Java] 자바 프로그램은 어떻게 실행될까? (0) | 2024.07.27 |
[Java] 프로그래밍은 언제부터 시작? (0) | 2024.07.27 |