关于面试问题:面试题JVM003-Java对象的访问定位

31次阅读

共计 382 个字符,预计需要花费 1 分钟才能阅读完成。

对象的拜访定位

支流的拜访形式次要有 句柄 间接指针 两种从虚拟机栈上拜访堆上的对象数据

1. 通过句柄拜访对象

如果应用句柄拜访,Java 堆会划分出一块内存作句柄池;
reference 中存储的就是对象的 句柄地址 ;
而句柄中蕴含了 对象实例 数据与 类型数据 各自的具体 地址 信息:

优缺点 :
毛病: 句柄形式, 应用代理, 拜访速度慢一点;
长处: 不必频繁批改指针(gc 回收对象,实例对象挪动很失常);

2. 通过间接指针拜访对象

栈中援用数据, 间接保留着堆内存中 实例对象的地址 (HotSpot 所应用的)
java 堆对象须思考如何搁置拜访 类型数据 信息,而 reference 中存储的间接就是堆内存的 对象地址;

优缺点 :
长处: 速度快, 对象的拜访很频繁,间接定位缩小了一次指针定位的开销 (定位句柄),从而千里之行; 始于足下,在晋升拜访性能上做出的成果也是极其能够的
毛病: 堆内存中对象内存地址变动后, 须要频繁批改指针

正文完
 0