请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

实例分配在堆或栈中是不是由虚拟机决定,而我们控制不了的?

实例分配在堆或栈中是不是由虚拟机决定,而我们控制不了的?
另外,有没有方法知道某段代码中的某个实例是分配在了堆还是栈中?

正在回答 回答被采纳积分+3

1回答

Vincent文森 2022-03-02 14:09:41

同学你好,逃逸分析和栈上分配都是虚拟机自己的一种内存优化机制,不同虚拟机对这个机制的实现和支持程度也不一样。在hotspot虚拟机中是可以通过配置去关闭或者打开这个机制的。在Android平台,我们是控制不了这种机制的。这道面试题,主要考察的还是堆和栈的区别,以及栈上分配的好处,能够做到从这个角度去理解这个知识点就可以了。

1 回复 有任何疑惑可以回复我~
  • 老师你好,Android平台上虚拟机的实现 目前会将对象采取栈上分配的策略吗
    回复 有任何疑惑可以回复我~ 2022-04-19 09:10:49
  • 按照java虚拟机规范来说,是应该实现栈上分配机制的。不过我并没有验证过,所以不能给出一个十分准确的答案。对于这道题来说,能够做到从堆和栈的区别、栈上分配的好处,这个角度去理解这个知识点就可以了。
    回复 有任何疑惑可以回复我~ 2022-04-20 20:05:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信