java - java中数组的最大元素数
问题描述
如何在 java 中的数组中存储超过 2^128 个元素。
我试过Integer.MAX_value
了,但这不是我想要的范围。我想要更多的数字。
这是使用 (Integer.MAX_VALUE) 的错误:
线程“main”java.lang.OutOfMemoryError 中的异常:请求的数组大小超过了 VM 限制。
解决方案
在 Java 中,数组内部使用整数(int 不是 Integer)作为索引,最大大小受整数的最大大小限制。所以理论上是2^31-1 = 2147483647,也就是Integer.MAX_VALUE。
但是在最近的 HotSpot JVM 中,观察到数组的最大大小可以是 Integer.MAX_VALUE - 5。
推荐阅读
- hazelcast - 使用 newHazelcastInstance(config) 创建的节点没有发现彼此?
- python - 使用变量输入作为通配符读取目录的内容
- android - 在 android studio 中创建的 bitbucket 上显示新分支而不更改代码
- javascript - jsPDF中的富文本格式
- c# - C# Dissasembly - 从内存地址中查找变量名
- emacs - 修改现有 Emacs Lisp 函数的文档字符串槽
- css - 无法解码下载的字体 Laravel
- project - 编辑其他开发人员已经使用的基本函数参数的更好方法
- node.js - xml-flow NPM 包 - 意外的 XML 解析行为
- python - scikitlearn - HashingVectorizer 之后 MiniBatchKMeans 聚类期间的内存错误