JVM 2

자바 헷갈리는 용어 정리(Java SE, JDK, JRE, JVM)

Java SE 자바는 크게 3가지의 에디션이 있다. Java SE (Java Standard Edition, J2SE) : 표준 에디션 Java EE (Java Enterprise Edition, J2EE) : 기업용 에디션 (=Jakarta EE) Java ME (Java Micro Edition, J2ME) : 임베디드용 에디션 위 에디션 중에서 사람들이 많이 사용하는 것은 Java SE이다. Java SE는 한마디로 자바의 표준안이자 명세서(spec)를 말하는데, 이 명세서에 따라서 Java가 만들어지게 된다. 예를 들어 Java SE 20은 버전 20에 대한 명세서를 말한다. Java SE는 JCP(Java Community Process)라는 조직을 통해서 만들어지는데, JCP 홈페이지에서 JS..

Backend/Java 2023.09.15

자바의 구동 원리와 JVM(Java Virtual Machine)

자바 프로그램의 구동 원리 소스코드를 작성한다. (.java 확장자의 소스 파일) 컴파일러(javac.exe)가 바이트코드로 변환한다. (.class 확장자의 클래스 파일) 런처(java.exe)로 자바 가상 머신을 구동시킨다. 자바 가상 머신이 바이트코드를 해석하여 자바 프로그램이 실행된다. 위 순서에서 바이트코드(bytecode)는 자바 가상 머신이 이해할 수 있는 언어로 변환된 코드다. 자바 가상 머신만 설치되어 있다면 바이트코드는 어떤 운영체제에서라도 실행될 수 있다. 자바 가상 머신(JVM) 일반 프로그램은 "운영체제"가 프로그램을 실행시킨다. 반면 자바 프로그램은 운영체제가 JVM을 실행시키면 "JVM"이 프로그램(클래스 파일)을 실행시킨다. 즉, 자바 프로그램의 클래스 파일들은 운영체제에서 ..

Backend/Java 2022.01.26