堆 vs 堆栈 vs 永久空间
- 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:存储有关学生班级的信息
相关文章