对象的访问方式
来源:互联网 发布:361彩票是网络诈骗吗 编辑:程序博客网 时间:2024/06/06 05:41
对象访问方式
虽然定义的reference类型数据来作为对象内存数据的引用,但JVM规范没有定义这个引用应该通过何种方式定位、访问堆上的对象,也没有不强制规定对象的内部结构应当如何表示;
这些都取决于JVM的实现,目前主流的对象访问方式有两种:
(A)、使用句柄
Java堆划分一块内存作为句柄池,reference中存储就是对象的句柄地址;
对象句柄包含两个地址:
(1)、在堆中分配的对象实例数据的地址;
(2)、这个对象类型数据地址;
如图所示:
优点:对象移动时(垃圾回收时常见的动作),reference不需要修改,只改变句柄中实例数据指针;
(B)、使用直接指针
reference中存储就是在堆中分配的对象实例数据的地址;
而对象实例数据中需要有这个对象类型数据的相关信息(前面文章讨论了HotSpot使用对象头来存储对象类型数据地址);
如图所示:
优点:对象访问时节省了一次指针定位的时间开销,速度更快;
由于对象访问非常频繁进行,所以能较好提升性能;
HotSpot虚拟机使用了直接指针的方式访问对象;
阅读全文
1 0
- 对象的访问方式
- java的对象访问方式
- 访问对象私有成员方式的比较
- java对象的访问定位方式
- cache数据库:对象方式的数据库访问
- Java中对象的访问方式
- JS中访问对象属性的方式
- 对象的内存布局和访问方式
- cache数据库:对象方式的数据库访问
- JavaScript中访问id对象.属性的方式访问属性
- 【笔记】uber--子对象访问父对象的方式
- 3.1 uber 子对象访问父对象的方式
- Struts中访问Servlet对象的方式(与Servlet API解耦的访问方式)
- JS属性访问表达式之对象访问属性点方式和中括号方式的区别
- 访问对象的公有成员函数的不同方式
- JavaScript的对象属性的两种访问方式
- Java 虚拟机学习 - 对象访问的定位方式
- 通过四种方式访问web页面的范围对象
- hihocoder offer收割第一场
- 测试皮肤
- PullToRefresh(上拉加载,下拉刷新)基本使用
- 开学来的总结
- 游戏《孢子》的思考 —— Marching Cube算法
- 对象的访问方式
- 598. Range Addition II
- 处理大数据运算的利器 — 位图原理以及设计
- comet4j
- LightOJ
- java鬼混笔记:redis 1、常用的命令
- JAVA输出菱形
- 树莓派-概述和使用-配置和使用
- 从键盘输入数据并显示