在哪些内存中存在静态变量,局部变量是什么?

时间:2011-07-04 12:18:47

标签: java

  

可能重复:
  Whats up with static memory in java?
  What is the actual memory place for static variables?

在哪个内存中存在静态变量,局部变量就像对象一样存在于堆中

2 个答案:

答案 0 :(得分:2)

当您执行转储时,您将获得所有静态值。堆转储显示静态字段位于该类的特殊对象中。您可以使用Unsafe类在Sun / Oracle JVM中访问此“对象”。

虽然本地值在堆栈上,例如。引用,它在堆上引用的任何对象。 (与C ++等语言不同)

e.g。

String hi = "hello";

堆栈中的引用hi但是Object(大部分内存)都在堆中。

答案 1 :(得分:0)

静态变量 - > perm gen
局部变量 - >堆