堆 vs 堆栈 vs 永久空间

2022-01-16 00:00:00 memory jvm java heap-memory stack-memory
  • Java 内存空间(Perm Space、Space Stack、Heap Space)有什么区别?
  • JVM 什么时候使用一个或另一个?
  • 如果我使用 Scala/Groovy/等,有区别吗?

推荐答案

简单

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

例如:

Student std = new Student();

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

after executing the line above memory status will be like this.

  • 堆:存储new Student()"
  • 堆栈:存储有关std"的信息
  • Perm Space:存储有关学生班级的信息

相关文章