java - 堆 vs 堆栈 vs 永久空间

标签 java memory jvm heap-memory stack-memory

  • Java 内存空间(Perm Space、Space Stack、Heap Space)有什么区别?
  • JVM 什么时候使用一个或另一个?
  • 如果我使用 Scala/Groovy/等,有区别吗?

最佳答案

简单

  • 堆空间:所有 Activity 对象都分配在这里。
  • 堆栈空间:存储对方法调用或变量实例化中变量的对象的引用。
  • Perm 空间:存储加载的类信息

例如:

Student std = new Student();

执行上面一行后内存状态会是这样的。

  • 堆:存储“new Student()”
  • 堆栈:存储有关“std”的信息
  • Perm Space:存储有关学生类(class)的信息

关于java - 堆 vs 堆栈 vs 永久空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801676/

相关文章:

Java(或 Groovy)相当于 Scala 的 apply

java - 由 : org. springframework.beans.factory.BeanCreationException 引起:创建名为 'memberDAO' 的 bean 时出错:调用 init 方法失败;

java - 监控负载较重的 Java 应用程序

javascript - 在 : memory allocation versus large object manipulation 中

c - 如何将位图中的位映射到伙伴分配器中的物理页?

java - 使用代理与进程附加 jvm 分析器之间的区别

java - 重新加载使用自定义类加载器加载的类

c++ - c++中的结构内存分配

java - 为什么我的 for 循环执行时间没有改变?

java - PSYoungGen 空间错误