Java的符号引用

转自:https://www.cnblogs.com/fpcbk/p/9013761.html

  在java中,一个java类将会编译成一个class文件。

  在编译时,java类并不知道引用类的实际内存地址,因此只能使用符号引用来代替。

  比如org.simple.People类引用org.simple.Tool类,在编译时People类并不知道Tool类的实际内存地址,因此只能使用符号org.simple.Tool(假设)来表示Tool类的地址。

   而在类装载器装载People类时,此时可以通过虚拟机获取Tool类 的实际内存地址,因此便可以既将符号org.simple.Tool替换为Tool类的实际内存地址,及直接引用地址。

也就是说,符号引用是在编译时被用来当类的内存地址的(也就是说符号引用就是内存地址)然后会在类装载进JVM时,在类装载第2步的链接中,链接的第三步解析中,就会将类的真正内存地址换掉符号引用

猜你喜欢

转载自blog.csdn.net/AAA821/article/details/82950648