java类与对象的内存分析
先上一句java的经典思想总结, 类(class)是组织代码。 对象是封装数据 。 总结下: 组织代码, 封装数据。
一个类里 有静态的属性(其实是变量),有动态的方法(其实就是函数) ,就像一个模板,批量生产对象。
它们在内存里是怎么分布的呢?
堆栈出场!
堆里边 存放各个类,以及new出来的对象。栈里边存放的是局部变量,例如new对象的名字, 这个变量里存放的实际上是对象的句柄,即对象的首地址。(反正我一直觉得对象就是个结构体)
大概理清一下整个顺序
如果new了一个对象,系统会在堆里 申请一个新的内存空间,并把首地址存放到栈里的局部变量s里,s就是那个new对象的名称。 新申请的内存空间里 各个属性里 整数型默认为0,字符型默认为null。 类的作用就是new出对象并将地址存放在栈里,除此之外别无其他,再无其他。
对于多个类之间的穿插,本质是寻址。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Java中对象的创建过程(内存分析)
- 下一篇: 求二维数组每一列的和