Java基础.Day12
2021/7/14 20:05:58
本文主要是介绍Java基础.Day12,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
创建对象内存分析
Java对象是如何new出来的??
IDEA中创建了一个Pet类,在main方法中new了一个对象旺财
-
首先加载Application这个类
这个类里面有main方法,常量池:旺财
-
执行main方法,在栈里面
-
第一步new了一个Pet(),加载Pet类
里面有自己的属性,name,age,方法shout()
当前name=null,age=0
-
通过模板生成一个具体的对象dog
dog放在栈里,只是一个引用变量名,真正的dog在堆里面
dog指向Pet,地址叫0001
默认name=null,age=0,方法shout()
这个shout()方法new的时候调用了下面这个方法
-
开始给dog.name赋值为旺财
-
同理赋值age,调用shout()
-
所有值赋完了之后存在堆中,就可以使用了
-
现在再在main中new一个cat
其实是在栈中又加了一个引用变量名,指向堆中真实的cat
所以
引用变量:本身在栈里面是个引用变量名,真正指向的是堆中具体的对象
-
静态方法区
和类一起加载,好处就是,所有的对象都可以用到它
-
整体结构
左边是栈,右边是堆,堆里面有个特殊的区域叫方法区
类和对象总结
来源:b站狂神
这篇关于Java基础.Day12的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-08如何用关键链方法突破项目管理瓶颈?
- 2025-01-08电商人必看!6 款提升团队协作与客户满意度软件!
- 2025-01-08电商团队管理混乱?快用这 6 款软件优化协作流程!
- 2025-01-08短剧制作效率低?试试这5款任务管理工具
- 2025-01-08高效应对电商高峰,6 款团队协作软件大揭秘!
- 2025-01-08为什么外贸人都爱上了在线协作工具?
- 2025-01-08提升工作效率,从这些任务管理工具开始
- 2025-01-08新年电商订单暴增,必备的 6 款可视化协作办公软件有哪些?
- 2025-01-08短剧制作经理必备技能与工具全解析
- 2025-01-08在线协作让年货大促轻松应对!