>Java >Java베이스 >Java 객체 생성 과정은 무엇입니까?

Java 객체 생성 과정은 무엇입니까?

王林
王林원래의
2020-05-25 09:59:473244검색

Java 객체 생성 과정은 무엇입니까?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.