【发布时间】:2013-05-13 17:50:42
【问题描述】:
Java 如何将变量名与内存中的位置相关联?
我的第一个想法是必须有一个静态表用于所有变量名,将其与它的值或它的值的位置相关联。是否存在,是否有此表的正式名称?
【问题讨论】:
-
除非您自己实现 JVM,否则您不需要分配或跟踪变量的确切内存位置。
-
变量名必须以某种方式进行限定,因为您不仅可以在不同的类中拥有同名的变量,而且可以在同一个类或方法中但在不同的范围内。跨度>
-
它可能没有;我的猜测(基于查看一些字节码)是变量名仅与编译器相关。
-
当你的程序被编译时,基本上所有的变量名(当然在方法实现中)都被删除了;你的程序是用字节码重写的,它只通过它们在堆栈上的位置来引用变量。