JVM의 역할 컴파일된 자바클래스파일(자바바이트코드)를 읽어 운영체제에 맞게 프로그램으로 실행시키는 가상머신이다. 자바코드를 컴파일하면 기계어가 아닌 바이트코드로 변환되는데 이때 운영체제에서 바이트코드를 읽을수 있도록 해석해주는 역할이다. 가비지컬렉터를 이용해서 메모리 관리도 담당한다. Java7부터는 G1GC가 나와서 힙영역의 객체들을 관리하는 역할도 담당한다. OS에 종속적이다. 윈도우의 JVM과 리눅스의 JVM은 다르다 JVM의 구성요소 ClassLoader / ExecutionEngine / Memory(Runtime Data Area) / Native 크게 네가지로 나눠볼 수 있다. .class파일(바이트코드)를 불러와서 JVM메모리에 로드한다. 로딩된 클래스는 runtime data area에..