정리하는 겸 유튜브 백기선님 자바 스터디를 보며 다시 상기시키는 공부를 진행한다.
이미 정식 스터디는 끝났지만 늦게 시작하여 블로그에 따로 기록하려고 한다.
JVM이란 Java Virtual Machine(자바 가상 머신) 의 줄임말
일반적인 프로그램은 OS위에서 실행되는데 자바 프로그램 같은 경우에는
OS위의 JVM에서 실행이 된다.
JVM위에서 실행 시키는 이유는 OS에 상관없이 실행시키기 위해서이다.
각기 다른 운영체제에서 실행시키는 이점은 정말 좋다.
컴파일러(javac)
가 자바 소스코드(.java)
를 읽어들여 자바 바이트코드(.class)
로 변환시킨다.JVM
으로 로딩한다.바이트코드(.class)
는 Runtime Data Areas에 배치되고 수행이 이뤄지게 되는데 여기서 가비지 컬렉터 같은 관리 작업도 수행한다.
{: .text-center}
자바 바이트코드(.class)
란 JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다.
자바 컴파일러(javac)에 의해 변환되는 코드의 명령어 크기가 1바이트
라서 자바 바이트코드라고 불리고 있다.
JIT(Just-In-Time) 컴파일러는 바이트코드를 CPU로 직접 보낼 수 있는 명령어로 바꾸는 프로그램이다.
일반적으로 컴파일러는 개발자와 최종 사용자를 위한 애플리케이션의 속도를 결정하는데 있어 핵심이다.
JIT 컴파일러는 성능 최적화를 위해 애플리케이션 런타임을 향상시킬 수 있다.
다른 컴파일러와는 다르게 JIT 컴파일러의 특성은 프로그램이 시작되고 코드를 컴파일 한 후에 JIT컴파일러가 실행된다.
바이트코드(.class)
를 해당 하드웨어의 환경에 맞게 변환을 하여 운영체제에 종속적이지 않은 상태를 만들어줌.JRE(Java Runtime Environment) : 컴파일된 자바 프로그램을 실행시킬 수 있는 자바 환경
실행
시키기 위해선 JRE를 반드시 설치해야 한다.프로그래밍
을 하기 위해선 JDK가 필요하다.JDK(Java Development Kit) : 자바 프로그래밍에 필요한 컴파일러 등등 포함
JDK = JRE + @