字面量
java字面量也可以叫做java直接量,简单的解释就是有简单数字,字母组成的字符串(必须是双引号引起的字符串)或者数值,还有引用类型的空指针null,字面量只能以右值出现,“”=“” 左边叫做常量或者变量
例:
int a;//a变量
static int b=10;//b为常量,10为字面量
string str="hello world";//str为变量,hello world为也字面量
符号引用
在学习jvm原理中,对符号引用的理解非常重要,它不仅出现在class文件常量池中,也在类加载解析步骤中将符号引用转换为直接引用出现
符号引用包括:类和接口的完全限定名,字段的名称和描述符,方法的名称和描述符
直接引用
直接引用可以是直接指向目标对象的指针、相对偏移量或是一个能间接定位到目标的句柄。直接引用是与虚拟机内存布局实现相关的,同一个符号引用在不同虚拟机实例上翻译出来的直接引用一般不会相同,如果有了直接引用,那引用的目标必定已经在内存中存在。
类在加载的“解析阶段”将符号引用转换为直接指向方法区中类方法,类字段的直接引用,将直接引用存储在类常量池中