JAVA/JAVA (JVM)
[JAVA] JVM 내부 구조와 메모리 구조
자바 가상 머신(JVM)의 동작 방식) 1. 자바로 개발된 프로그램을 실행하면 JVM은 OS로부터 메모리를 할당받는다. (JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.) 2. 컴파일(Compile): 작성한 자바 소스코드(.java)를 자바 컴파일러를 사용하여 컴파일한다. 컴파일은 소스 코드를 기계어가 아닌 중간 단계의 바이트 코드(Bytecode)로 변환하는 과정이다. 컴파일된 바이트 코드는 .class 확장자를 가진 파일에 저장된다. 3. 클래스 로딩: 자바 가상 머신(Java Virtual Machine, JVM)은 프로그램을 실행하기 전에 컴파일된 바이트 코드를 클래스로 로딩한다. 클래스 로더(Class Loader)는 필요한 클래스들을 찾아서 메모리(JVM Runtime Da..
[JAVA] JVM (Java Virtual Machine) 이란?
JVM의 동작 방식 (자바 코드 실행 과정) 1. 자바로 개발된 프로그램을 실행하면 JVM은 OS로부터 메모리를 할당받는다. (JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.) 2. 컴파일(Compile): 작성한 자바 소스코드(.java)를 자바 컴파일러를 사용하여 컴파일한다. 컴파일은 소스 코드를 기계어가 아닌 중간 단계의 바이트 코드(Bytecode)로 변환하는 과정이다. 컴파일된 바이트 코드는 .class 확장자를 가진 파일에 저장된다. 3. 클래스 로딩: 자바 가상 머신(Java Virtual Machine, JVM)은 프로그램을 실행하기 전에 컴파일된 바이트 코드를 클래스로 로딩한다. 클래스 로더(Class Loader)는 필요한 클래스들을 찾아서 메모리(JVM Runtime..
[JAVA] JDK, JRE, JVM
JDK, JRE, JVM JDK (Java Development Kit) 자바 개발 환경으로 자바 어플리케이션을 개발하기 위해 필요한 도구를 제공한다 JDK는 JRE + 개발을 위해 필요한 도구 즉, 자바 언어를 바이트 코드로 컴파일 해주는 자바 컴파일러(javac), 자바 클래스 파일을 해석해주는 역 어셈블리어(javap) 등을 포함한다. JRE (Java Runtime Environment) JRE는 자바 실행 환경으로 JVM, JAVA 클래스 라이브러리, 기타 JAVA 어플리케이션 실행에 필요한 파일들을 포함한다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다. JVM (Java Virtual Machine) JVM은 자바 가상 머신으로 자바 어플리케이션을 실행하는 가상 머신이다. 실제 컴퓨터..