Java 객체 생성 과정:
클래스 로딩 확인-->메모리 할당-->0값 초기화-->객체 헤더 설정-->init 메소드 실행
자세한 내용은 다음과 같습니다.
1. 클래스 로딩 확인
가상 머신은 새로운 명령어를 만나면 먼저 이 명령어의 매개변수가 상수 풀에서 클래스의 기호 참조를 찾을 수 있는지 확인하고, 이것이 나타내는 클래스가 있는지 확인합니다. ji에 의해 기호 참조가 로드되고 초기화되었습니다. 그렇지 않은 경우 클래스 로딩 프로세스가 먼저 수행됩니다.
(추천 동영상 튜토리얼: java video)
2. 메모리를 할당하는 방법에는 두 가지가 있습니다
:
(1) 포인터 충돌: Java 힙의 메모리는 일반이고 사용되는 메모리는 한쪽에는 자유 공간이 있고 중앙에는 분할 지점을 나타내는 포인터가 있습니다. 할당된 메모리는 해당 포인터를 개체 크기와 같은 거리만큼 자유 공간으로 이동합니다.
(2) 여유 목록: Java 힙의 메모리가 규칙적이지 않은 경우 가상 머신은 할당 시 어떤 메모리 블록을 사용할 수 있는지 기록하는 목록을 유지해야 합니다. 객체를 작성하고 목록 레코드를 업데이트합니다.
3. 0값 초기화
할당된 모든 메모리 공간을 0값으로 초기화합니다. TLAB를 사용하는 경우 TLAB 할당 시 0값으로 초기화됩니다.
4. 객체 헤더 설정
주로 클래스의 메타데이터 정보, 객체의 해시 코드, 객체의 GC 생성 연령 및 기타 정보를 설정합니다.
5. init 메소드 초기화를 실행합니다.
추천 튜토리얼: Java 개발 시작하기
위 내용은 Java 객체 생성 과정은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!