【jvm】符号引用

1. 说明
  • 1.在Java虚拟机中,符号引用(Symbolic Reference)是一种重要的引用机制。
  • 2.它主要用于在编译阶段类加载阶段之间建立对方法字段等元素的引用关系。
  • 3.符号引用是指用一个符号来代替目标引用的一种引用方式。
  • 4.在Java类中,它通常通过类名、方法名、字段名等名称来引用其他类、方法、字段等。
  • 5.通过一组符号来描述所引用的目标,并在运行时由JVM解析为直接引用,以支持Java程序的动态加载和运行。
2. 特点
  • 1.符号引用是字面量,可以存储在或者方法的常量池中,而不需要提前解析
  • 2.符号引用与虚拟机的内存布局无关,引用的目标在解析之前并不一定要加载到内存中。
  • 3.符号引用在编译时生成,用于表示对程序中其他元素的引用关系。
3. 组成与格式
  • 1.符号引用通常包含:引用目标的类型(如类、方法、字段),引用目标的名称(如类名、方法名、字段名),引用目标的描述符(对于方法,包括参数类型和返回类型;对于字段,包括字段类型)。
  • 2.在Java虚拟机规范中,符号引用的格式通常遵循“类或接口的全限定名 + ‘#’ + 成员名称 + 成员描述符”的规则。
4. 作用
  • 1.符号引用在编译时生成,用于表示Java代码中对其他元素的引用关系
  • 2.它使得Java程序能够在不知道具体类文件位置内存地址的情况下,进行编译和初步的组织。
5. 过程
  • 1.在类加载阶段,JVM会对类文件中的符号引用进行解析,将其转换为直接引用(Direct Reference),即内存中实际的地址或偏移量
  • 2.解析过程包括查找目标类字段方法等的实际地址,并检查访问权限等。
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佑辉

老板,赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值