클래스 로더 시스템 2

클래스 로더 시스템

JVM 구조에서도 말했듯이 클래스 로더 시스템은 3개로 나누어서 볼 수 있다고 말했다. 거기에 대한 내용을 좀 더 자세하게 정리해보자. 로딩(loading) 클래스 로더가. class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고 "메서드" 영역에 저장 이때 메소드 영역에 저장하는 데이터 FQCN, 클래스, 인터페이스, 이늄, 메서드와 변수가 있다 로딩이 끝나면 해당 클래스 타입의 Class 객체를 생성하여 "힙"영역에 저장된다. 링크(Linking) 레퍼런스를 연결하는 과정이다. 링크에서도 3가지로 나눌 수가 있다. 검증 : 바이트코드 검증 기는 생성된 자바 바이트코드가 적절한지 아닌지에 대해서 검증하며 검증이 실패할 경우 검증 오류를 보낸다. 준비 : 모든 정적 변수의 메모리가 할당되며..

Language/Java 2022.05.05

JVM 구조

JVM은 자바 가상 머신(Java Virtual Machine)의 약자이다. JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(. class)을 실행할 수 있다. 또한 JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다. 클래스 로더 시스템 이란? class에서 바이트코드를 읽고 메모리에 적절하게 배치하는 것이 클래스 로더 시스템가 하는 일이다. 여기서 클래스 로더 시스템이 크게 3가지로 나누어 볼 수가 있는데 로딩, 링크, 초기화 이다. 로딩(loading) : class에서 바이트코드를 읽어오는 과정이다. 링크(Linking) : 레퍼런스를 연결하는 과정이다. 링크에서도 3가지로 나눌 수가 있다. ..

Language/Java 2022.05.05