자바 바이트 에서 jvm 인 스 턴 스 용법
1.가상 컴퓨터 시각
자바 코드 를 실행 할 때 먼저 컴 파일 된 class 파일 을 자바 가상 컴퓨터 에 불 러 와 야 합 니 다.불 러 온 자바 클래스 는 방법 영역(MethodArea)에 저 장 됩 니 다.가상 기회 가 실제 실 행 될 때 실행 방법 구역 내의 코드 입 니 다.자바 virtualMachines 는 실행 중인 데 이 터 를 저장 하기 위해 더미 와 스 택 을 메모리 로 나 눕 니 다.자바 virtual Professional 은 스 택 을 자바 방법 을 위 한 자바 방법 스 택,로 컬 방법(C++로 작성 한 native 방법)의 로 컬 방법 스 택 과 각 스 레 드 실행 위 치 를 저장 하 는 PC 레지스터 로 세분 화 합 니 다.
이 호출 은 자바 방법 에 들 어 갈 것 이 며,자바 가상 기 회 는 현재 스 레 드 의 자바 방법 스 택 에서 로 컬 변수 와 바이트 조작 수 를 저장 하 는 스 택 프레임 을 생 성 할 것 입 니 다.이 스 택 프레임 의 크기 는 사전에 계 산 된 것 이 며 자바 가상 기 는 메모리 공간 에 스 택 프레임 을 연속 적 으로 분포 할 필요 가 없습니다.자바 가상 머 신 은 현재 실행 방법 을 종료 할 때 정상 이 든 이상 이 든 현재 스 레 드 의 현재 스 택 프레임 을 팝 업 하고 이 프레임 을 포기 합 니 다.
2.하드웨어 시각
자바 바이트 코드 는 직접 실행 할 수 없 기 때문에 자바 가상 기 는 바이트 코드 를 기계 코드 로 번역 해 야 한다.HotSpot 에서 번역 과정 은 두 가지 형식 이 있 습 니 다.
1.실행 설명 입 니 다.바이트 코드 를 기계 코드 로 번역 하여 실행 합 니 다.
2.즉시 컴 파일(Just-In-Timecompilation,JIT)로 한 가지 방법 에 포 함 된 모든 바이트 코드 를 기계 코드 로 컴 파일 하여 실행 합 니 다.
전자의 장점 은 컴 파일 을 기다 릴 필요 가 없고 후자 의 장점 은 실제 운행 속도 가 빠르다 는 것 이다.
지식 포인트 확장:
자바 개발 자로 서 기술 에 대한 추 구 는 API 를 사용 할 줄 아 는 것 이 아니 라 기본 적 인 기능 을 쓸 줄 안다.기술적 으로 더 높 은 조예 가 있 으 려 면 원리 적 인 차원 에서 코드 운행 체 제 를 깊이 인식 해 야 한다.따라서 본 고 는 class 바이트 파일 의 구조 에 착안 하여 바 이 너 리 바이트 코드 의 내부 작업 원 리 를 한 걸음 한 걸음 해부 하 는 것 이 JVM 의 운영 체 제 를 깊이 이해 하 는 데 큰 도움 이 되 는 동시에 BCEL 을 사용 하여 Class 바이트 코드 명령 을 동적 으로 바 꾸 려 는 작업 에 도 도움 이 된다(예:JVM Class 바이트 코드 의 3-BCEL 을 사용 하여 클래스 속성 을 바 꾸 는 것).
클래스 파일 이란 무엇 입 니까
자바 바이트 클래스 파일(class)은 자바 컴 파일 러 가 자바 소스 파일(자바)을 컴 파일 하여 만 든'대상 파일'입 니 다.이것 은 8 비트 바이트 의 바 이 너 리 스 트림 파일 입 니 다.각 데이터 항목 은 순서대로 긴밀 하 게 앞 뒤로 배열 되 고 인접 한 항목 사이 에 간극 이 없습니다.그러면 class 파일 이 매우 치밀 하고 부피 가 가 벼 우 며 JVM 에 의 해 메모리 로 빠르게 불 러 올 수 있 으 며 비교적 적은 내부 저장 공간(네트워크 전송 에 편리 함)을 차지 할 수 있 습 니 다.
자바 소스 파일 은 자바 컴 파일 러 에 의 해 컴 파일 된 후에 모든 클래스(또는 인터페이스)가 하나의 class 파일 을 단독으로 차지 하고 클래스 의 모든 정 보 는 class 파일 에 해당 하 는 설명 이 있 습 니 다.class 파일 이 유연 하기 때문에 자바 소스 파일 보다 더 강 한 설명 능력 을 가지 고 있 습 니 다.
class 파일 의 정 보 는 한 항목 씩 배열 되 어 있 습 니 다.모든 데 이 터 는 고정된 길이 가 있 습 니 다.어떤 것 은 한 바이트,어떤 것 은 두 바이트,그리고 네 개의 바이트 또는 8 개의 바이트 가 있 습 니 다.데이터 항목 의 서로 다른 길 이 는 각각 u1,u2,u4,u8 로 표시 합 니 다.각각 하나의 데이터 항목 이 class 파일 에서 한 바이트,두 바이트,4 개의 바이트 와 8 개의 바이트 를 차지 하 는 것 을 나타 냅 니 다.u1,u2,u3,u4 를 class 파일 데이터 항목 의'형식'으로 볼 수 있 습 니 다.
자바 바이트 코드 의 jvm 인 스 턴 스 용법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 바이트 코드 의 jvm 사용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.