静态成员驻留在内存中的什么位置,是永久代吗?

Where does the Static members reside in memory,is it permanent generation?

静态成员所在的位置。 我需要静态、本地和实例成员内存分配(变量、方法)的详细解释。 内存管理(是否是永久代)

这取决于您使用的 Java 版本:

  1. Pre Java8:静态(就像其他 "permanent" 事物一样)存储在 PermGen 中。它只是内存模型的一部分,就像年轻一代和老一代一样。
  2. Java8: 这里 PermGen 被移除了!由于多种原因,例如很难对其进行调整。当然,所有数据并没有被丢弃,因为我们仍然需要它。它刚刚被移动到 Metaspace,它驻留在本机内存中(因此在 Java 堆之外)。

静态成员:永久代(堆)

局部变量:不是堆的堆栈内存。 参考这里 http://tutorials.jenkov.com/java-concurrency/java-memory-model.html