知灵犀知练
← 返回

Java 虚拟机入门简答题

Java 堆和线程栈分别主要保存什么?

参考答案

堆是多个线程共享的运行时区域,通常保存对象与数组;每个线程有自己的 Java 虚拟机栈,栈帧保存方法调用相关的局部变量、操作数等信息。

题目解析

“所有对象一定分配在堆上”过于绝对,JIT 优化可能消除某些实际分配;也不要把线程栈理解为业务对象的长期存储。