목록Programming/Java (2)
DHistory
OverviewGarbage Collector는 사용하지 않는 자원의 메모리를 해제하여 프로그램 메모리를 확보합니다.GC(Garbage Collection)를 하게 되면 GC 관련 Thread을 제외한 모든 Thread를 멈춥니다.이를 Stop The World(STW) 라고 합니다. GC의 동작 과정Mark & Sweep Algorithm을 사용하여 어느 곳에서도 참조하고 있지 않는 객체를 GC 대상으로 선정하여 제거합니다. Mark: Root Space(Stack, Method Aread, Native Method Stack)에서 참조하는 객체를 마킹합니다.Sweep: 마킹되지 않은 객체를 Heap에서 제거합니다.Compact: 분산된 객체를 Heap의 시작 주소로 모아 메모리가 할당된 부분과 할당되..
OverviewJIT Compiler는 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법입니다.처음 실행 시 interpret를 하면서 자주 쓰이는 코드를 캐시에 담아두었다가 재사용합니다.Runtime 시 적용되는 기술이며 interpret과 compile을 혼합하여 사용합니다.→ 처음 실행 시 interpret하면서 실행→ 다음 실행 시 캐싱된 기계어 파일을 읽음 (like compile) Interpret vs Static CompileInterpret: 실행 중인 프로그램 코드를 읽어가면서 기계어로 번역Static Compile: 실행하기 전에 프로그램 코드를 기계어로 번역 Java에서는 어떻게 사용할까? Compiler는 .java 파일을 .class 파일(bytecode)로 변..