본문 바로가기

jvm3

#1 스터디 할래 - 1주차 1. JVM이란 무엇인가? JVM 은 Java Virtual Machine 의 약자로서, Java 가 동작될 때 동작될 수 있는 플랫폼을 제공해준다. 이는 즉 다시 말하면 Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시킬 수 있는 가상머신이다. JVM 의 가장 큰 특징으로는 Write one, Run anywhere 라는 모토이다. 이는 어떤 OS의 제약에도 해당되지 않는 것과 같다. JVM의 컴파일러가 .java 소스파일을 컴파일하면 .class 클래스 파일을 JVM에게 건네주게 되면 JVM이 클래스파일을 메모리에 로드하여 실행할 수 있다. 여기서 컴파일러는 프론트엔드에 속하고, JVM은 백엔드에 속한다. 이말은 위에서 말한것과같이 .java 를 Compiler 를 통해 Compi.. 2021. 10. 30.
Java Garbage Collection 다시 살펴보기 출처: d2.naver.com/helloworld/1329 docs.google.com/presentation/d/1wkTP8YaSsxK-Zjd_cv9ofBEgihz1-ZiZfXNWYo3oRPM/edit#slide=id.g8c711dc557_1_92 과정 GC에 대해서 알아보기 전에 알아야 할 용어가 있다. 바로 'stop-the-world'이다. stop-the-world란, GC을 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것이다. stop-the-world가 발생하면 GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춘다. GC 작업을 완료한 이후에야 중단했던 작업을 다시 시작한다. 어떤 GC 알고리즘을 사용하더라도 stop-the-world는 발생한다. 대개의 경우 GC 튜닝이.. 2020. 11. 25.
JVM 이해하기 - 1 (JVM 특징 이해하기) 자바를 이용하는 개발자라면 자바 바이트 코드가 JRE위에서 동작됨을 이해한다. 그러나, JRE에서 가장 중요한 요소는 자바 바이트 코드를 해석하고 실행하는 JVM(Java Virtual Machine) JVM은 하나의 개념이고, 스펙이다. 이를 구현한 객체가 Java VM, Delvik VM 등이 있다. JRE는 자바 API와 JVM, Native Method으로 구성되며, JVM의 역할은 자바 애플리케이션을 클래스 로더(Class Loader)를 통해 읽어 들여서 자바 API와 함께 실행하는 것 JVM의 특징 스택 기반의 가상 머신 : 대표적인 컴퓨터 아키텍처인 인텔 x86아키텍처, ARM 아키텍처와 같은 하드웨어가 레지스터 기반으로 동작하는 데 비해 JVM은 스택 기반으로 동작한다. 심볼릭 레퍼런스 .. 2020. 11. 24.