https://docs.oracle.com/javase/specs/오라클의 공식문서 21버전의 jvm을 정리해서 축약적으로 포스팅할 계획이다번역하는 건 아니고 공부한 내용을 중요하다고 생각하는 부분만 쪼개서 올리자.근데 어느 세월에 이걸 다하냨ㅋ
1. class file(.class) 자바 가상 머신(JVM)에서 실행되는 컴파일된 코드는 하드웨어 및 운영 체제와 독립적인 이진 형식으로 표현된다. 이 형식은 일반적으로 파일에 저장되며 클래스 파일 형식(.class 형태로) 이라고 한다. 클래스 파일 형식은 클
Reference Types and Values 1. 참조 유형의 종류 세 가지 종류의 참조 유형이 있다: 클래스 타입, 배열 타입, 그리고 인터페이스 타입. 2. 참조 유형의 값 참조 유형의 값은 동적으로 생성된 클래스 인스턴스, 배열, 또는 인터페이스를 참조한
Frames 각 메소드 호출 시 새로운 프레임이 생성되며, 해당 메소드의 완료 여부와 관계없이 해당 프레임은 파괴된다. 프레임은 자바 가상 머신 스택에서 할당되며, 각 프레임은 자체의 로컬 변수 배열, 피연산자 스택, 현재 메소드의 클래스의 런타임 상수 풀에 대한
Exceptions JVM에서 예외(Exceptions)는 Throwable 클래스나 그 하위 클래스의 인스턴스로 나타낸다. 예외가 발생하면 예외가 발생한 지점에서 즉시 nonlocal한 제어 전송이 발생한다. 대부분의 예외는 해당 스레드의 작업으로 인해 동기적으로
JVM은 자바 프로그래밍 언어를 지원하기 위해 설계되었다. 오라클의 JDK 소프트웨어에는 자바 프로그래밍 언어로 작성된 소스 코드를 JVM의 명령어 세트로 변환하는 컴파일러와 자바 가상 머신 자체를 구현하는 실행 시스템(run-time system)있다. 컴파일러가 J
for 문의 컴파일은 이전 섹션(§3.2)에서 봤다. 대부분의 다른 제어 구조(if-then-else, do, while, break 및 continue)는 명백한 방식으로 컴파일된다. switch 문의 컴파일은 별도의 섹션(§3.10)에서 처리될거고, 예외의 컴파일(
JVM에서 배열은 객체로 간주된다.. 배열은 고유한 명령어 집합을 사용하여 생성 및 조작된다. "newarray" 명령어는 숫자 유형의 배열을 생성하는 데 사용된다. 예를 들어보자.컴파일:"anewarray" 명령어는 객체 참조의 일차원 배열을 생성하는 데 사용된다.
try-finally 문은 try-catch와 유사하게 컴파일된다. try 문의 외부로 제어를 전달하기 전에, 그 제어가 정상적으로 전달되는지 아니면 예외가 발생하여 갑작스럽게 전달되는지에 상관없이, 먼저 finally 절이 실행되어야 한다. 에제를 살펴보자:컴파일:t

프로젝트 들어가야 해서 아마 늦게 올라갈듯 ㅎㅎ ㅈㅅ;; The class File Format 이 장은 Java Virtual Machine의 클래스 파일 형식을 설명한다. 각 클래스 파일은 단일 클래스, 인터페이스 또는 모듈의 정의를 포함한다. 클래스, 인터페이

이제 공식문서 절반이네 지금은 그냥 번역하는 수준이라 퀄리티 낮다. ㅈㅅJVM 명령어는 클래스, 인터페이스, 클래스 인스턴스 또는 배열의 실행 시 레이아웃에 의존하지 않는다. 대신, 명령어는 constant_pool 테이블에 있는 심볼 정보를 참조한다.모든 consta