JVM
-
Thread 종류 non-daemon, daemon tread non-daemon thread java의 main을 실행했을 때 실행되는 thread daemon thread 위의 non-daemon이 아닌 thread의 작업을 돕는 보조적인 역할을 하는 thread non-daemon thread가 모두 죽으면, daemon thread도 강제적으로 종료된다 garbage collection와 같은 백그라운드 태스크를 실행하며 low priority를 가지고 있습니다. Thread 상태 스레드의 상태는 java.lang.Thread 클래스 내부에 State라는 이름을 가진 Enumerated Types(열거형)으로 선언되어 있습니다. NEW 스레드가 생성되었지만 아직 실행되지 않은 상태 RUNNABLE..
[JAVA] Thread 종류 및 상태Thread 종류 non-daemon, daemon tread non-daemon thread java의 main을 실행했을 때 실행되는 thread daemon thread 위의 non-daemon이 아닌 thread의 작업을 돕는 보조적인 역할을 하는 thread non-daemon thread가 모두 죽으면, daemon thread도 강제적으로 종료된다 garbage collection와 같은 백그라운드 태스크를 실행하며 low priority를 가지고 있습니다. Thread 상태 스레드의 상태는 java.lang.Thread 클래스 내부에 State라는 이름을 가진 Enumerated Types(열거형)으로 선언되어 있습니다. NEW 스레드가 생성되었지만 아직 실행되지 않은 상태 RUNNABLE..
2023.07.08 -
JVM의 구성요소 중, 데이터 영역에 대한 설명으로 아래의 내용들에 대해서 다루어 보도록 하겠다 Runtime Data Areas란 Runtime Data Areas의 구성 요소 스레드 별로 존재 PC Register JVM Stack Native Method Stack 스레드 공유 Method Area 상세 구조 Heap 상세 구조 Java8부터 달라진 점 Runtime Data Areas란 JVM은 Java 컴파일러가 컴파일한 ByteCode를 ClassLoader를 이용해 메모리(RuntimeDataArea)에 실행 가능한 상태로 적재한다. RuntimeDataArea는 JVM이 프로그램을 수행하기 위해 OS로부터 별도로 할당받은 메모리 영역이다. Runtime Data Areas의 구성 요소 Ru..
[JAVA] JVM 메모리 구조, 데이터 영역 ( Runtime Data Areas)JVM의 구성요소 중, 데이터 영역에 대한 설명으로 아래의 내용들에 대해서 다루어 보도록 하겠다 Runtime Data Areas란 Runtime Data Areas의 구성 요소 스레드 별로 존재 PC Register JVM Stack Native Method Stack 스레드 공유 Method Area 상세 구조 Heap 상세 구조 Java8부터 달라진 점 Runtime Data Areas란 JVM은 Java 컴파일러가 컴파일한 ByteCode를 ClassLoader를 이용해 메모리(RuntimeDataArea)에 실행 가능한 상태로 적재한다. RuntimeDataArea는 JVM이 프로그램을 수행하기 위해 OS로부터 별도로 할당받은 메모리 영역이다. Runtime Data Areas의 구성 요소 Ru..
2022.08.23 -
Java ClassLoader에 대한 설명으로 아래의 내용들에 대해 다루어 보도록 하겠습니다. ClassLoader 정의 ClassLoader 원칙 (특징) ClassLoader 계층 구조 ClassLoader 로딩 단계 ClassLoader 정의 ClassLoader는 JVM의 구성요소 중 하나로, '.class' 바이트 코드를 읽어 들여 class 객체를 생성하는 역할을 담당한다. 즉, 클래스가 요청될 때 class파일로부터 바이트 코드를 읽어 메모리로 로딩하는 역할 자바 클래스들은 한 번에 모든 클래스가 메모리에 올라가지 않는다. 각 클래스들은 필요할 때 애플리케이션에 올라가게 되며, 이 작업을 클래스로더가 해주게 된다. 예를 들어 간단한 Class의 main문을 실행할때, load 되는 class..
[JAVA] ClassLoader란, 원칙, 계층구조, 로딩단계Java ClassLoader에 대한 설명으로 아래의 내용들에 대해 다루어 보도록 하겠습니다. ClassLoader 정의 ClassLoader 원칙 (특징) ClassLoader 계층 구조 ClassLoader 로딩 단계 ClassLoader 정의 ClassLoader는 JVM의 구성요소 중 하나로, '.class' 바이트 코드를 읽어 들여 class 객체를 생성하는 역할을 담당한다. 즉, 클래스가 요청될 때 class파일로부터 바이트 코드를 읽어 메모리로 로딩하는 역할 자바 클래스들은 한 번에 모든 클래스가 메모리에 올라가지 않는다. 각 클래스들은 필요할 때 애플리케이션에 올라가게 되며, 이 작업을 클래스로더가 해주게 된다. 예를 들어 간단한 Class의 main문을 실행할때, load 되는 class..
2022.08.02 -
JVM이란 JVM은 Java Virtual Machine의 약자이다. Java는 알겠고, Virtual Machine은 여기서 무엇을 의미할까? Virtual Machine(가상 머신)은 프로그램의 실행하기 위해 물리적 machine과 유사한 machine을 소프트웨어로 구현한 것이라고 할 수 있다. 그럼 자바와 가상머신을 합친 통합적인 의미로 정의해 보면 자바 코드를 실행하고 해당 코드에 대해 런타임 환경을 제공하는 소프트웨어 프로그램에 대한 사양(Specification)이라고 할 수 있다. JVM의 정의는 대충 알겠고, 그럼 다음으로 역할과 특징으로는 어떠한 것들이 있는지 대략적으로 정리해 보자 JAVA와 OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해 준다..
[Java] Java JVM이란, JVM 구성 (Java Virtual Machine)JVM이란 JVM은 Java Virtual Machine의 약자이다. Java는 알겠고, Virtual Machine은 여기서 무엇을 의미할까? Virtual Machine(가상 머신)은 프로그램의 실행하기 위해 물리적 machine과 유사한 machine을 소프트웨어로 구현한 것이라고 할 수 있다. 그럼 자바와 가상머신을 합친 통합적인 의미로 정의해 보면 자바 코드를 실행하고 해당 코드에 대해 런타임 환경을 제공하는 소프트웨어 프로그램에 대한 사양(Specification)이라고 할 수 있다. JVM의 정의는 대충 알겠고, 그럼 다음으로 역할과 특징으로는 어떠한 것들이 있는지 대략적으로 정리해 보자 JAVA와 OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해 준다..
2022.07.28