오늘은 java에 대해 설치부터 기초 문법까지 배웠다.
intelliJ나 jdk 같은 경우 이미 설치 되어 있었고,
기초 문법, 변수 타입 등은 참고자료가 많기도 하고,
이미 알고 있기에
jvm, jre, jdk에 대해 알아보고자 한다.
java가 나오기 이전까지 운영체제에 따라 소스 사용 규칙이
다르기 때문에 다른 환경에서 같은 코드를 돌릴 수 없다고 한다.
하지만, java에서 jvm을 포함시켜 개발했기 때문에 운영체제에 상관없이 코드를 짤 수 있다.
운영체제 위에 가상머신을 띄어 코드를 번역하기 때문
저번에 java는 interpreter언어, compile언어 둘다 포함된다고 했는데,
java언어를 번역하기 위해 jvm에 띄울 때 compile하기 때문이다.
운영체제 상관없이 코드를 실행시킬 수 있다는 장점이 존재하지만,
그 때문에 C나 C++ 보다는 느린편
JIT 컴파일러를 통해 속도를 개선한다고 한다
(후에 더 공부하자)
jre는 java class libraries, JVM 외에 java class loader를 포함한다.
class loader, class libraries를 통해 작성한 코드를 라이브러리와
결합한 후 JVM에 넘긴다고 한다.
출처: 고랭이네 - [Java] JDK? JRE? JVM?
jre에는 개발도구(컴파일러, 디버거) 등을 포함하고 있지 않지만,
jre만 있더라도 실행은 가능하다.
일반적으로 java언어로 코드를 짤 때 설치하는 것이 jdk이다.
이미지처럼 jdk는 jvm, jre 모든 것을 포함하기 때문에
jdk만 설치하더라도 jvm, jre는 자동으로 다 설치 된다.