java类与对象的内存分析
来源:互联网 发布:山阴俞氏 知乎 编辑:程序博客网 时间:2024/05/21 18:00
先上一句java的经典思想总结, 类(class)是组织代码。 对象是封装数据 。 总结下: 组织代码, 封装数据。
一个类里 有静态的属性(其实是变量),有动态的方法(其实就是函数) ,就像一个模板,批量生产对象。
它们在内存里是怎么分布的呢?
堆栈出场!
堆里边 存放各个类,以及new出来的对象。栈里边存放的是局部变量,例如new对象的名字, 这个变量里存放的实际上是对象的句柄,即对象的首地址。(反正我一直觉得对象就是个结构体)
大概理清一下整个顺序
如果new了一个对象,系统会在堆里 申请一个新的内存空间,并把首地址存放到栈里的局部变量s里,s就是那个new对象的名称。 新申请的内存空间里 各个属性里 整数型默认为0,字符型默认为null。 类的作用就是new出对象并将地址存放在栈里,除此之外别无其他,再无其他。
对于多个类之间的穿插,本质是寻址。
0 0
- java类与对象的内存分析
- java类与对象的内存分析
- Java学习笔记-类与对象(对象内存分析)
- java基础--java内存分析(二)(类和对象与内存分析)
- JAVA面向对象与内存分析
- JAVA面向对象与内存分析
- Java对象内存分析
- java的类模板,对象,实例内存地址分析
- Java内存对象的逃逸分析
- Java内存对象的逃逸分析
- Java内存对象的逃逸分析
- 源码分析:Java对象的内存分配
- 源码分析:Java对象的内存分配
- java—1.面向对象与内存分析
- 对象的内存分析
- java 对象与内存
- java的对象与内存控制
- java内存区域与对象的访问
- 影像平滑(medianBlur、bilateralFilter)
- 工作
- UNIX学习之路 一步一个脚印之TCP连接的建立和终止
- 设置SQLdeveloper 界面语言
- 百度地图绘制折线,保存动态读取
- java类与对象的内存分析
- android蓝牙模块
- Git设置用户名和邮箱
- Android视图状态及重绘流程分析,带你一步步深入了解View(三)
- 最小生成树(Kruskal算法)模板
- hibernate连接mysql时,配置正确,账号密码正确,启动时报 access denied ...
- 复式、阁楼第二层算不算面积
- Python使用wxPython、py2exe编写桌面程序
- UNIX学习之路 一步一个脚印之socket编程/Socket的参数