符号引用:

符号引用是以一组符号来描述所引用的目标,符号中的字面量可以是任何形式的,只要可以无歧义的定位到目标即可。符号引用与虚拟机实现的内存布局是无关的。各个不同的虚拟机实现的内存布局可以是不一样的,但是所能接受的符号引用的形式必须是一致的。因为符号引用中的字面量形式由java虚拟机规范中的class文件格式确定。

直接引用:

直接引用可以直接指向目标的指针、相对偏移量或者一个能间接访问到目标的句柄。直接引用是和虚拟机实现的内存布局直接相关的。每个符号引用在虚拟机实例上翻译出来的直接引用几乎都是不同的。如果存在直接引用,那么在虚拟机内存中必定会存在该引用目标

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐