Object obj=new Object()的内存引用

  • Post author:
  • Post category:其他

Object obj=new Object();

一句很简单的代码,但是这里却设计Java栈,Java堆,java方法去三个最重要的内存区域之间的关联。

 

假设这句代码出现在方法体中。

 

1.Object obj将反映到Java栈的本地变量表,这是一个本地变量的定义。是一个引用类型。

2.new Object()将会反映在Java堆中。存储了Object类型的所有实例数据值(次内存是不固定大小的,因为谁也无法确定这是对象的大小)。

3.程序运行,类型信息已经加载到内存里,这些数据就在Java方法区中,包括:类型的父类型,实现的接口、包含的方法等类型信息。new Object(),根据这些信息建立对象。可以看到这些信息是线程共享的。

转载于:https://www.cnblogs.com/WeaRang/p/5380469.html