Home>Article>Java> What is the creation process of java objects

What is the creation process of java objects

王林
王林 Original
2020-05-25 09:59:47 3127browse

What is the creation process of java objects

Creation process of java object:

Class loading check --> Allocate memory --> Initialize zero value --> Set object header -->Execute the init method

The details are as follows:

1. Class loading check

When the virtual machine encounters a new instruction, it first checks the parameters of this instruction. Can you locate the symbolic reference of a class in the constant pool, and check whether the class represented by this symbolic reference has been loaded, parsed and initialized by ji. If not, the class loading process is performed first.

(Video tutorial recommendation:java video)

2. Allocate memory

There are two ways:

(1) Pointer collision: Assume that the memory in the Java heap is regular, with used memory on one side and free memory on the other side. There is a pointer in the middle as an indicator of the demarcation point. The allocated memory moves that pointer to the free side. A distance equal to the size of the object.

(2) Free list: If the memory in the Java heap is not regular, the virtual machine must maintain a list to record which memory blocks are available, and find a large enough space from the list to allocate it to the object when allocating , and update the records of the list.

3. Initialize zero value

Initialize the allocated memory space to zero value. If TLAB is used, it will be initialized to zero value when TLAB is allocated.

4. Set the object header

Mainly set the metadata information of the class, the hash code of the object, the GC generation age of the object and other information.

5. Execute the init method initialization.

Recommended tutorial:Getting started with java development

The above is the detailed content of What is the creation process of java objects. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn