728x90 Java/JVM3 [Java] JVM heap, GC 이전 글 [Java] JVM 전체 프로세스 및 내부 JVM JVM은 컴파일의 결과물인 바이트 코드를 실행하기 위한 가상 머신이다. [Java] JVM은 무엇이며 자바 코드는 어떻게 실행ᄒ 목표 자바 소스 파일(.ja iyk2h.tistory.com Java Heap Instance(Object)와 Array 객체 두 가지 종류만 저장되는 공간이며, 모든 Thread에 의해 공유되는 영역이다. 이곳에 생성된 객체들은 다른 객체의 필드 또는 스택에 존재하는 다른 메소드에 의해 참조될 수 있다. 참조하는 변수가 사라진다면 이 객체는 필요 없는 것으로 간주하고 Garbage Collector에 의해서 할당이 해제된다. JVM은 Java Heap에 Memory를 할당하는 In.. 2023. 4. 7. [Java] JVM 전체 프로세스 및 내부 JVM JVM은 컴파일의 결과물인 바이트 코드를 실행하기 위한 가상 머신이다. [Java] JVM은 무엇이며 자바 코드는 어떻게 실행ᄒ 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. JVM이란 무엇인가 자바 가상머신( Java Virtual Machine)의 약자이다. JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 iyk2h.tistory.com JVM 전체 프로세스 프로그램이 처음 실행될 때 클래스 로더는 필요한 .class 바이트코드 파일을 런타임 데이터 영역으로 로드하는 일을 담당합니다. 프로그램이 실행될 때 실행 엔진이 아직 로드되지 않은 바이트코드를 발견하면 클래스 로더를 사용하여 필요한 바이트코드를 런타.. 2023. 3. 29. [Java] JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. JVM이란 무엇인가 자바 가상머신( Java Virtual Machine)의 약자이다. JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. 또한 JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다. 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가 느리다는 단점을 가지고 있다. 하지만 요즘엔 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환해주는 JIT컴파일러와 향상된 기술이 적용되어 속도의 격차를 많이 줄였다. 즉, JVM은 CPU가 원.. 2023. 3. 22. 이전 1 다음 728x90