我想知道如何在Java中以最大可能的长度实例化一个long []数组。如果它太大,我得到一个内存错误。我需要这个数组尽可能大,而不会超出平台相关的限制。如何才能做到这一点?我的电脑上的限制似乎大约为8500万个索引,但在其他计算机上可能更少或更多。实例化最大大小的java数组
回答
在Java中,垃圾收集将以不可预知的间隔运行。因此,根据运行时间,自由堆内存大小将会增加或减少。因此,它极不可能的,你可以得到的内存,您可以使用用于制造多头排列的确切字节,但是你可以用Runtime类试图获得用于JVM内存的详细信息:
Runtime.getRuntime().totalMemory()
,
Runtime.getRuntime().freeMemory()
,
Runtime.getRuntime().maxMemory()
我正确的说,Runtime.getRuntime()。freeMemory()/ 8;应该给我数组的近似最大长度?如果是这样,它似乎给我一个约3000万的长度,远远低于我预期的8500万。 –
是的,但它不是最大值,因为堆以-Xms开关指定的大小开始,并且可以增大到-Xmx指定的大小。 freeMemory()仅为当前堆大小提供可用内存。 – beannayak
Indepent的问题,如何搞清楚,什么最大可用空间可能是: 如果你真的需要一个数组,你也可以考虑使用java.nio.LongBuffer中的只有多头。既然你在机器上工作的很近,使用这个和使用C数组在C中工作非常相似,但是使用安全的语言。
- 1. Java:创建最大大小的实例
- 2. Java Swing JFrame最小化/最大化调整大小错误
- 3. $ _POST最大数组大小
- 4. 最大数组大小
- 5. Python:最大数组大小?
- 6. Scipy.linalg.solve最大数组大小
- 7. Java数组最小和最大问题
- 8. 最小化K切割后最大组的大小
- 9. Java数组大小
- 10. Salesforce最小化数据存储大小的最佳实践
- 11. 数组中值的最大大小PHP
- 12. 在vb.net中的最大数组大小
- 13. 32位数组的最大大小?
- 14. 最小化/最大化div
- 15. Java中的数组大小
- 16. 最小化ExtJS的大小
- 17. Java最大文件大小
- 18. 负数组大小例外
- 19. 如何最小化和恢复大量实例的过程?
- 20. MMULT/MINVERSE最大数组大小
- 21. 数组大小优化
- 22. Java增加数组大小
- 23. Java数组:属性大小?
- 24. Java调整数组大小
- 25. Java动态数组大小?
- 26. 最小化SQLite库大小
- 27. 查找java数组中的最小/最大数
- 28. 最小化的最大元素的数组中的
- 29. 最小化最大成本
- 30. 最大化最小差异
long has:class java.lang.Long:min = -9,223,372,036,854,775,808,max = 9,223,372,036,854,775,807 –
这怎么可能有用? –
你需要这个...吗? –