Java数组的内存分配和逃逸分析的问题

刚看了一篇关于逃逸分析的博客说:Java数组长度小于等于64会是在栈分配的,大于64的会分配在堆里面。
问题1:这个是真的吗?官方文档哪里有些?
问题2:如果是真的,那么基础数据类型数组和对象数组都一样在小于64在栈里面分配吗?
问题3:把对象的内存分配到栈的前提是什么?不会逃逸就可以了吗?
问题4:Java的栈上分配都是都是JVM自动优化,不能指定分配在堆还是栈上面吗?

慕姐4208626
浏览 666回答 1
1回答

婷婷同学_

这个本质上是为了优化,取决于特定的jvm版本和配置。对于开发者是透明的,在jvm7以上可以有这样的优化,至于大小是多少,这个是undocumented的,不一定是64
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java