牛骨文教育服务平台(让学习变的简单)
博文笔记

java类与对象的内存分析

创建时间:2017-03-08 投稿人: 浏览次数:685

先上一句java的经典思想总结,      类(class)是组织代码。   对象是封装数据 。 总结下: 组织代码, 封装数据。   

一个类里 有静态的属性(其实是变量),有动态的方法(其实就是函数)  ,就像一个模板,批量生产对象。     

它们在内存里是怎么分布的呢?

堆栈出场!

堆里边 存放各个类,以及new出来的对象。栈里边存放的是局部变量,例如new对象的名字,  这个变量里存放的实际上是对象的句柄,即对象的首地址。(反正我一直觉得对象就是个结构体)

大概理清一下整个顺序

如果new了一个对象,系统会在堆里 申请一个新的内存空间,并把首地址存放到栈里的局部变量s里,s就是那个new对象的名称。  新申请的内存空间里  各个属性里 整数型默认为0,字符型默认为null。    类的作用就是new出对象并将地址存放在栈里,除此之外别无其他,再无其他。

对于多个类之间的穿插,本质是寻址。      


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。