刚看了一篇关于逃逸分析的博客说:Java数组长度小于等于64会是在栈分配的,大于64的会分配在堆里面。问题1:这个是真的吗?官方文档哪里有些?问题2:如果是真的,那么基础数据类型数组和对象数组都一样在小于64在栈里面分配吗?问题3:把对象的内存分配到栈的前提是什么?不会逃逸就可以了吗?问题4:Java的栈上分配都是都是JVM自动优化,不能指定分配在堆还是栈上面吗?
1 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
这个本质上是为了优化,取决于特定的jvm版本和配置。对于开发者是透明的,在jvm7以上可以有这样的优化,至于大小是多少,这个是undocumented的,不一定是64
添加回答
举报
0/150
提交
取消