8
A
回答
18
你可以认为它一如既往在堆上。
我相信一些智能虚拟机能够堆栈分配对象,如果他们能够检测到它是安全的 - 但从概念上说它在堆上。特别是,所有数组类型都是引用类型(即使元素类型是原始类型),所以array
变量(位于堆栈上)仅仅是对对象的引用,并且对象通常位于堆上。
特别是,设想一个小的变化:
byte[] someMethod() {
byte[] array = { 0, 0 };
return array;
}
如果数组是在栈上分配的,你会返回的引用都指什么?
1
它将被存储在堆中
相关问题
- 1. 重新初始化堆栈
- 2. 初始化堆栈指针
- 3. WebAssembly堆栈/堆栈指针初始化和内存布局
- 4. 初始化一个空的堆栈
- 5. 初始化可以找到最小数量的堆栈。 Java
- 6. 在ATtiny2313上初始化堆栈指针
- 7. 未初始化值由堆栈分配
- 8. 未初始化的堆和堆栈空间值
- 9. 堆栈或堆
- 10. Java堆栈组件
- 11. 字符堆栈,字符串堆栈,整数堆栈,整数数组堆栈等
- 12. 未初始化的值是由堆栈分配创建的
- 13. 是在java中堆栈或堆中分配的数组的内存?
- 14. 这是可接受的练习初始化堆上的数组?
- 15. Java - 堆栈 - 检查堆栈的两个数字是否相等100
- 16. Java堆栈/巢数
- 17. 堆栈进出
- 18. getaddrinfo addrinfo导致堆栈或堆栈
- 19. 堆栈或堆栈分配不正确
- 20. C++ googlemocks:获取未初始化的调用的堆栈跟踪
- 21. 如何确定内存是否属于堆或堆栈?
- 22. Java堆转储是否包含线程堆栈
- 23. 如何防止初始化数组时过度使用程序堆栈内存?
- 24. Bitnami堆栈是否有效?
- 25. 是否Zend_Db_Adapter :: beginTransaction()堆栈?
- 26. 错误:longjmp导致未初始化的堆栈帧
- 27. C++堆栈:未初始化的局部变量
- 28. 如何找到未初始化的堆栈变量
- 29. 问题初始化C中的双重堆栈链接列表
- 30. 堆栈的数组实现