字面量、符号引号和直接引用

  1. 字面量
    比较接近于 Java 语言层面的常量概念,如文本字符串、被声明为 final 的常量值。
  2. 符号引用:以一组符号来描述所引用的目标,可以为任何形式的字面量。只要能无歧义定位到目标即可。引用的内容不一定已经加载到虚拟机内存中。属于编译原理方面的概念,主要包括以下几类常量:
    • 被模块导出或开放的包(Package)
    • 类和接口的全限定名
    • 字段的名称和描述符(Descriptor)
    • 方法的名称和描述符
    • 方法句柄和方法类型
    • 动态调用点和动态常量
  3. 直接引用
    可以直接指向目标的指针、相对偏移量或者是一个能间接定位到目标的句柄。如果有了直接引用,那引用目标必定已经在虚拟机的内存中存在。

你可能感兴趣的:(字面量、符号引号和直接引用)