목록분류 전체보기 (462)
hyeonga_code
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zu9fI/btsHgazNTfi/k0kuaYJFI0M2O2TF7527i0/img.png)
클래스 로딩 Class LoadingJVM의 클래스 로더가 자바 애플리케이션을 실행하는 데 필요한 .class 파일을 로드하고 링크하며 초기화하는 과정을 의미합니다.Class Loading 1. Loading 2. Linking 3. Initialization - Dynamic Loading - Static Loading1. 로딩 Loading파일 시스템이나 네트워크 소스에서 지정된 클래스 파일을 찾아 읽습니다.이 파일은 자바 소스코드를 컴파일하여 생성된 바이너리 데이터인 바이트코드를 포함합니다.읽은 바이트코드는 메소드 영역에 저장됩니다..class 파일을 메모리에 로드하는 과정으로 클래스 로더를 사용하여 파일 시스템, 네트워크, 아카이브 파일 내에서 파일이 위치한 곳을 찾습니다...
![](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 클래스는 정체가 불분명하고 심볼릭 링크와 같은 유닉스 계열의 파일에서 사용하는 몇몇 기..