jvm (3) 썸네일형 리스트형 1.JVM 1. JDK, JRE, JVM JDK자바 개발환경으로 자바 어플리케이션을 개발하기 위해 필요한 도구를 제공한다.자바 언어를 바이트 코드로 컴파일 해주는 자바 컴파일러(javac), 자바 클래스 파일을 해석해주는 역어셈블리어(javap) 등이 있다.JRE자바 실행환경으로 JVM, 자바 클래스 라이브러리, 기타 자바 어플리케이션 실행헤 필요한 파일들을 포합한다.JVM자바 가상 머신으로 자바 어플리케이션을 실행하는 가상 머신이다. 실제 컴퓨터로 부터 Java어플리케이션 실행을 위한 메모리를 할당받아 Runtime Data Area를 구성한다. 2. Runtime Data Area 자바 가상 머신은 프로그램 실행 중 다양한 런타임 데이터 영역을 사용한다. 런타임 데이터 영역은 모든 스레드들이 공유하는 영역과.. [Java] JVM메모리 구조 JVM 응용프로그램이 실행되면, 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 이 메모리를 용도에 따라 여러 영역으로 나누어 관리 Stack 차곡차곡 쌓인다. LIFO(Last In, First Out) JVM의 메모리 구조 메소드 영역(Method Area) 클래스 정보와 클래스 변수가 저장되는 곳 호출 스택(Call Stack) 메소드의 작업공간 메소드가 호출되면 호출 스택에 메모리 할당 종료되면 사용하던 메모리 반환함 힙(Heap) 인스턴스가 생성되는 공간 new연산자에 의해서 생성되는 배열과 객체는 모두 여기에 생성됨 호출 스택의 특징 메소드가 호출되면 수행에 필요한 메모리를 스택에 할당받는다. 메소드가 수행을 마치면 사용했던 메모리를 반환 호출 스택의 제일 위에 있는 메소드가 현재.. [Java] 객체지향 프로그래밍 2 1. JVM의 메모리 구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 1) 메서드영역(method area) - 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 때, 그 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. 2) 힙(heap) - 인스턴스가 생성되는 공간, 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스변수(instance variable)들이 생성되는 공간이다. 3) 호출스택(call stack 또는 .. 이전 1 다음