Java教程

java对象内存以及其内存分配机制

本文主要是介绍java对象内存以及其内存分配机制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

java对象内存布局

现有一个对象

 melo.name = "卡梅隆安东尼";
 melo.num = 7;
 melo.age = 37;
 

 

此对象各数据在内存中布局为

对象名就像是人的名字,堆区和方法区的那些数据才是实实在在的人,有这个名字很重要,只有这样你与别人谈到这个人,别人才会知道你在说谁,你跟计算机说想访问这个对象,计算机也是因为有这个对象名字才知道你想要的对象是哪个。

 

java对象内存分配步骤

现在看一段代码

 player melo = new player(); 
 melo.name = "卡梅隆安东尼";
 melo.num = 7;
 melo.age = 37;
 player anthony = melo;
 melo = null;

 

ps:下面步骤图,对象名存放的地址打错成0x0001,自行纠正即可

 

第一步,方法区里加载该类信息(属性和方法),ps:若之前加载过一次,则无需再次加载

 

 

 

第二步,在堆区创建melo这个对象,此时成员们都是默认值

 

 

第三步,在栈中创建该对象名,并把堆中该对象所在的地址赋给对象名

 

 

第四步,对各个成员赋值

 

第五步,在栈中创建anthony对象名,并指向堆中的melo

 

 

第六步,将栈中,melo对象名赋值为空

 

这篇关于java对象内存以及其内存分配机制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!