1、什么是符号引用和直接引用 符号引用 符号引用已一组符号来描述所引用的目标,符号引用可以是任何形式的字面量,只要能无歧义的定位到目标即可,符号引用和JVM的布局无关。 在编译的时候每一个Java类都会编译成一个class文件,但在编译的时候JVM并不知道所引用类的地址,所以就用符号代替,而在解析阶段就是为了把这个符号转换成真正的引用地址的一个阶段 直接引用 直接引用是和虚拟机的布局有关的,不同虚拟机对于相同符号引用编译出来的直接引用一般是不一样的。如果有了直接引用,那么直接引用的该目标一定加载到了内存当中。