内存mymap=new int[500000][500000]需要多大的Eclipse Java堆空间;没有OutOfMemoryError?
或者我以不同的方式问这个问题:给定64GB的物理内存,Java Eclipse中可以使用多大的2D整数数组?int[120000][120000]大致无误
谢谢
你可以在下面搜索框中键入要查询的问题!
或者我以不同的方式问这个问题:给定64GB的物理内存,Java Eclipse中可以使用多大的2D整数数组?int[120000][120000]大致无误
谢谢
# 1 楼答案
Java int值每个为4字节。你问题中的数组是
120,000^2 * 4
字节,或者120,000^2 * 4 / 1024^2
GB,大约是59GB,接近内存可用性的极限。实际上,您需要一些额外的内存来承载操作系统本身、Java应用程序等不过,我真的怀疑在一个数组中创建如此大量数据的必要性。所有这一切真的需要一次记在记忆中吗?重新构造以便一次只需要内存中的一部分数据会更好吗