Java中new Object()究竟占据多少字节,这个数字你了解吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3093个文字,预计阅读时间需要13分钟。
前言:我们来分析一下堆内存以及Java对象在内存中的布局。
对象指向:首先来看一段代码:
javapackage com.zwx.jvm;
public class HeapMemory { private Object obj1=new Object();
public static void main(String[] args) { // 代码内容省略 }}
在这段代码中,我们创建了一个名为`HeapMemory`的类,其中包含一个名为`obj1`的私有`Object`类型的成员变量。在`main`方法中,我们没有具体的代码内容,但这个类实例化了一个`Object`对象,并将其存储在堆内存中。
简单来说,对象在内存中的布局包括:
1. 对象头:包含对象类型信息、GC标记、哈希码等。
2.实例数据:根据对象的类型,存储相应的数据。
3.对象的类类型信息:指向该对象所属类的元数据信息。
在上述代码中,`obj1`指向堆内存中的一个`Object`实例,该实例的内存布局包含了上述三个部分。
前言
我们来分析一下堆内布局以及Java对象在内存中的布局吧。
本文共计3093个文字,预计阅读时间需要13分钟。
前言:我们来分析一下堆内存以及Java对象在内存中的布局。
对象指向:首先来看一段代码:
javapackage com.zwx.jvm;
public class HeapMemory { private Object obj1=new Object();
public static void main(String[] args) { // 代码内容省略 }}
在这段代码中,我们创建了一个名为`HeapMemory`的类,其中包含一个名为`obj1`的私有`Object`类型的成员变量。在`main`方法中,我们没有具体的代码内容,但这个类实例化了一个`Object`对象,并将其存储在堆内存中。
简单来说,对象在内存中的布局包括:
1. 对象头:包含对象类型信息、GC标记、哈希码等。
2.实例数据:根据对象的类型,存储相应的数据。
3.对象的类类型信息:指向该对象所属类的元数据信息。
在上述代码中,`obj1`指向堆内存中的一个`Object`实例,该实例的内存布局包含了上述三个部分。
前言
我们来分析一下堆内布局以及Java对象在内存中的布局吧。

