2ndsprout.log
로그인
2ndsprout.log
로그인
JVM, JRE, JDK
이순재
·
2024년 3월 3일
팔로우
1
JRE
JVM
Java
jdk
Java
목록 보기
2/5
컴퓨터는 2진수만 읽을 수 있다.
기계어 즉, 2진수로 된 바이너리로 작성된언어만 읽을 수 있다.
사람이 읽고 작성 할 수 있는 프로그래밍 언어를
C, JAVA
같은 컴파일 언어에서는
컴파일러
가 기계어로 변환해준다. (Python 같은 인터프리터 언어는 논외)
컴파일러
: 사람이 코딩 한 결과가 미리, 기계어나 그에 가까운 언어로 컴파일 즉,
번역해주는 역할
을 한다.
바이트코드
사람이 쓰는 자바 코드에서 컴퓨터가 읽는 기계어로의 중간단계에 있는 코드
JAVA
로 Hello.java를 작성 후 파워쉘이나 터미널에 javac Hello.java 명령을 내리면 같은 위치에 Hello.class가 만들어짐. 이 같은 .class 파일이 바이트코드 임.
이 바이트코드를 실행할 컴퓨터에 깔린
JVM
에 넘겨주면 해당 컴퓨터가 프로그램을 실행 할 때
JVM
이 바이트코드를 그때그때 기계어로 번역을 해줌.
추가적인 장점 : Groovy, Scala, Clojure, Kotlin 같은 언어들도 JVM 전용 바이트코드로 컴파일이 가능
JVM
JVM은 JAVA로 코드를 짜서 컴파일 한 소프트웨어들이 JVM이 깔린 어떤 컴퓨터에서든 실행 할 수 있도록 해주는 것
컴퓨터 환경마다 기계어가 다름 (
운영체제가 다를시 같은 컴파일 언어로 짠 기계어도 각각 운영체제에 맞게 컴파일 해야함
)
위와 같은 문제를 해결하기 위해 만들어 진것이
JAVA
의
*JVM
이다.
쉽게 풀이 하자면, 각 컴퓨터(운영체제) 마다 JVM 이라는 전담 통역센터가 있는 것.
한번 작성하면 모든 곳에서 실행한다.
W-O-R-A
(write one run anywhere)가 JAVA의 원칙
JVM
같이 실행 시점마다 기계어로 번역해주는
'통번역'
방식을
Just In Time
컴파일 즉
JIT 컴파일
이라고 한다.
쉽게 풀이 하자면, 각 컴퓨터(운영체제) 마다 JVM 이라는 전담 통역센터가 있는 것.
JRE
JAVA 런타임 환경
즉, 자바로 짠 소프트웨어가 컴파일 및 빌드까지 다 된 다음, 이를 사용할 곳에 주어져서 실행이 될 때, 그 환경 요소들로서 필요한 것들.
JDK
JAVA Development Kit (자바 개발 도구)
개발에 필요한 것들 (javac, jdb, jar 등등 JRE도 JDK에 포함되어있다.)
이순재
팔로우
이전 포스트
JAVA의 특징
다음 포스트
IntelliJ
0개의 댓글
댓글 작성