본문 바로가기

jvm2

JAVA Compile 과정, 이 일대기를 들어보자 JAVA Compiler 순서 개발자가 자바 소스코드(.java)를 작성합니다. 자바 컴파일러(Java Compiler)가 자바 소스 파일을 컴파일합니다. 이때 나오는 파일은 자바 바이트코드(.class)파일로 아직 컴퓨터가 읽을 수 없는 파일입니다. 대신 자바 가상 머신이 이해할 수 있는 코드입니다. 바이트 코드의 각 명령어는 1바이트 크기의 Opcode와 추가 피연산자로 이루어져 있습니다. 컴파일된 바이트 코드를 JVM 클래스 로더(Class Loader)에게 전달합니다. 클래스 로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역(Runtime Data Area), 즉 JVM 메모리에 올립니다. 클래스 로더 세부 동작 로드 : 클래스 파일을 가.. 2021. 3. 20.
Java Virtual Machine 이 친구의 이야기를 들어보자. JAVA Virtual Machine [JVM] 이란? JVM이란 자바 가상 머신의 약자이다. 여기서 우선 가상 머신에 대한 개념을 먼저 알고 가야 한다. Virtual Machine :컴퓨터 환경을 소프트웨어로 구현한 것으로, 컴퓨터를 에뮬레이션 하는 소프트웨어이다. Emulator : 한 시스템에서 다른 시스템을 복제한다는 뜻 JVM의 역할 JAVA Application을 Classloader를 통해 읽어 들여 Java API와 함께 실행 JAVA와 OS 사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해 줌 메모리 관리 Garbage Collection 스택 기반의 가상 머신 : 대다수의 명령어가 스택 선두에서 피연산자를 택하고 결과는 다시 스택에 넣는다. Java.. 2021. 3. 19.