목록전체 글 (461)
hyeonga_code
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cj5cWO/btsHcrC0cIQ/SduVUkOGXte1hKB1B8g53K/img.png)
JVM 구성 요소- Class Loader - Bootstrap Class Loader - Extension Class Loader - System/Application Class Loader- Execution Engine- Runtime Data Area 런타임 데이터 영역 Runtime Data Area 프로그램의 실행 도중 사용되는 다양한 데이터를 저장하는 영역입니다.클래스 로딩 과정이 완료되면 로드된 클래스에 대한 정보를 저장합니다.주요 런타임 데이터 영역 - 메소드 영역 - 힙 영역 - 스택 영역 - PC 레지스터 - 네이티브 메소드 스택네이티브 메소드 스택 Native Method StackJVM 외부의 네이티브 코드를 호출할 때 사용됩니다.Java가 아닌 다른 언어..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yYK2K/btsHfCDnvtW/Vi9Y1l8KpttfMYv21k3j3k/img.png)
JVM 구성 요소- Class Loader - Bootstrap Class Loader - Extension Class Loader - System/Application Class Loader- Execution Engine- Runtime Data Area 런타임 데이터 영역 Runtime Data Area 프로그램의 실행 도중 사용되는 다양한 데이터를 저장하는 영역입니다.클래스 로딩 과정이 완료되면 로드된 클래스에 대한 정보를 저장합니다.주요 런타임 데이터 영역 - 메소드 영역 - 힙 영역 - 스택 영역 - PC 레지스터 - 네이티브 메소드 스택PC 레지스터 Program Counter Register현재 실행중인 JVM 명령어의 주소를 저장하므로 스레드가 실행하는 코드를 지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tTglH/btsHcnf0UhD/g94aTKamlbKutmsezLJBcK/img.png)
JVM 구성 요소- Class Loader - Bootstrap Class Loader - Extension Class Loader - System/Application Class Loader- Execution Engine- Runtime Data Area 런타임 데이터 영역 Runtime Data Area 프로그램의 실행 도중 사용되는 다양한 데이터를 저장하는 영역입니다.클래스 로딩 과정이 완료되면 로드된 클래스에 대한 정보를 저장합니다.주요 런타임 데이터 영역 - 메소드 영역 - 힙 영역 - 스택 영역 - PC 레지스터 - 네이티브 메소드 스택스택 영역 Stack Area자바 스레드가 실행될 때 메소드 호출과 실행을 관리합니다.각 스레드는 자신의 스택 영역이 스레드 생성시에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bShAmu/btsHf9OqK9s/Bqhx7ryyUknQkgLQxt1k80/img.png)
JVM 구성 요소- Class Loader - Bootstrap Class Loader - Extension Class Loader - System/Application Class Loader- Execution Engine- Runtime Data Area 런타임 데이터 영역 Runtime Data Area 프로그램의 실행 도중 사용되는 다양한 데이터를 저장하는 영역입니다.클래스 로딩 과정이 완료되면 로드된 클래스에 대한 정보를 저장합니다.주요 런타임 데이터 영역 - 메소드 영역 - 힙 영역 - 스택 영역 - PC 레지스터 - 네이티브 메소드 스택 힙 영역 Heap Area 자바 어플리케이션에서 동적으로 할당되는 데이터를 저장하는 영역입니다.모든 자바 스레드가 공유하는 자원입니..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LRbdm/btsHgnZYFxM/tmbHuzPliI5fnVOIjefDAk/img.png)
JVM 구성 요소- Class Loader - Bootstrap Class Loader - Extension Class Loader - System/Application Class Loader- Execution Engine- Runtime Data Area 런타임 데이터 영역 Runtime Data Area 프로그램의 실행 도중 사용되는 다양한 데이터를 저장하는 영역입니다.클래스 로딩 과정이 완료되면 로드된 클래스에 대한 정보를 저장합니다.주요 런타임 데이터 영역 - 메소드 영역 - 힙 영역 - 스택 영역 - PC 레지스터 - 네이티브 메소드 스택 메소드 영역 Method Area모든 스레드가 공유하는 메모리 영역으로 클래스 레벨의 정보 등을 저장합니다..class 클래스 파일..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BW3t5/btsHgcYHqVO/kMR5MNevNgCiLSBZ7OuQ2K/img.png)
JVM 구성 요소- Class Loader - Bootstrap Class Loader - Extension Class Loader - System/Application Class Loader- Execution Engine- Runtime Data Area 실행 엔진 Execution Engine로딩된 클래스 파일들의 바이트코드를 실행합니다.바이트코드는 기계어가 아니므로 JVM 내부에서 실제 CPU가 이해할 수 있는 기계어로 변환합니다.이 과정에서 필요한 요소는 인터프리터 와 JIT_Just In Time 컴파일러 가 사용됩니다.Interpreter인터프리터는 JVM이 로드한 바이트코드를 한 줄씩 읽으면서 실행합니다.이 방식은 간간하고 바이트코드를 즉시 실행할 수 있습니다.반복적인 코드..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ciGiOQ/btsHd9nYIjK/TOKMteNvXoKa2KxctSjIKk/img.png)
JVM 구성 요소- Class Loader - Bootstrap Class Loader - Extension Class Loader - System/Application Class Loader- Execution Engine- Runtime Data Area 클래스 로더 Class Loader자바 애플리케이션을 실행할 때 필요한 .class 파일을 로드합니다.파일 시스템이나 네트워크 등에서 클래스를 찾아 읽고 JVM의 런타임 데이터 영역에 배치합니다.자바의 동적 로딩을 가능하게 하는 중요한 요소입니다.자바 프로그램이 실행되는 동안에도 새로운 클래스를 필요에 따라 찾아 로드할 수 있게 합니다.1. 부트스트랩 클래스 로더 Bootstrap Class LoaderJVM이 가장 먼저 실행하는 최..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dSeiOW/btsHb482daF/mhhsSq1kcSsqIcPkxE3Krk/img.png)
좋은 기회가 생겨 멘토링을 진행하게 되었다.그동안 벨로그에 중구난방으로 공부하기 위한 목적으로 작성했던 내용을 멘토링을 통해 수정된 내용과 함께 기록으로 남기려고 한다. JVM_Java Virtual Machine자바 프로그램이 실행되는 환경을 제공하는 소프트웨어입니다.자바 애플리케이션을 클래스 로더를 통해 읽어들이는 역할입니다.자바 API와 함께 읽어온 코드를 실행합니다.한 번 작성하면 어디서든 실행된다는 자바의 이념을 실현하는 것 JVM이 다양한 운영체제에서 동일한 자바 바이트코드를 실행할 수 있게 합니다. Jar 파일여러 java 클래스 파일과 메타데이터를 압축한 형태입니다.애플리케이션의 배포와 실행을 쉽게 합니다.JAR 파일을 엑세스하여 클래스패스를 통해 JAR 파일의 위치를 지정할 수 있습니다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oybPt/btsGjOLbpGZ/URj1VSNxNxHsmn5hAlKfj1/img.png)
2024.04.02 - I/O_Input/Output -- 프로그램의 내용을 파일에 읽거나 저장할 경우 -- 프로그램의 내용을 다른 서버나 디바이스로 보내는 경우 -- java.io ---- 바이트 기반의 데이터를 처리하기 위해 여러 종류의 Stream 클래스를 제공 ---- 바이트가 아닌 char 기반의 문자열로 되어 있는 파일은 Reader와 Writer 클래스로 처리 ---- 스트림_Stream ------ 끊기지 않고 연속적인 데이터 -- NIO_New I/O ---- 스트림이 아닌 버퍼와 채널 기반으로 데이터를 처리 -- File & Files 클래스 ---- 파일과 파일의 경로를 포함한다. ---- File 클래스는 정체가 불분명하고 심볼릭 링크와 같은 유닉스 계열의 파일에서 사용하는 몇몇 기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bGIdDm/btsGkpYiYGp/UjMKqXBU5c2CRS89YgAVX1/img.png)
2024.04.02 - 스레드_Thread -- 하나의 프로세스 내에서 여러 스레드는 수행될 수 있으나 여러 프로세스가 하나의 스레드를 수행할 수는 없다. -- 경량 프로세스_Lightweight Process -- WAS_Web Application Server ---- 자바를 사용한 웹을 제공 ---- main()메소드에서 생성한 스레드가 수행되는 것 -- 스레드 생성 방법 1) Runnable 인터페이스 ---- 구현된 메소드 2) Thread 클래스(선호) ---- Runnable 인터페이스를 구현한 클래스 더보기 void run() // 스레드가 시작하면 수행 ---- 예제 package e.thread; public class RunnableSample implements Runnable { ..