- N +

java new时 发生了什么

在Java中,使用`new`关键字创建对象时,会经历以下几个步骤:

1. 类加载:Java虚拟机(JVM)首先会加载指定的类。这个过程包括查找并加载类的定义信息,例如类的字节码。

2. 分配内存:JVM为对象分配内存。这部分内存分为两部分:栈内存和堆内存。

栈内存:用于存储对象的引用(即对象在堆内存中的地址)。栈内存是线程私有的。

堆内存:用于存储对象本身的数据。所有的对象实例以及数组都存储在堆内存中。

3. 初始化:

默认初始化:为对象分配内存后,会进行默认初始化,即所有成员变量会被设置为其类型的默认值(例如,数值类型为0,布尔类型为false,对象引用为null)。

显式初始化:如果类中有构造器(Constructor),则调用相应的构造器来初始化对象。构造器会按照定义的顺序执行初始化代码,包括对成员变量的赋值和调用其他方法。

4. 设置对象引用:JVM将堆内存中分配给对象的地址存储在栈内存中对应的引用变量中。

以下是这个过程的一个简单的例子:

```java

public class Example {

int x; // 成员变量

public Example() {

x = 10; // 构造器中的初始化代码

返回列表
上一篇:
下一篇: