高分悬赏,Java语言,定义一个1000000*1000000*1000000的数组,为什么说内存不够呢
内存都没有了,装不下,申请哪个么大数组。。
假设数组每个元素只占1位。
需要这么多内存
1000000*1000000*1000000/8/1024/1024/1024 = 116415322 GB内存
先不考虑能不能装的下,
按16G一条内存,需要58207661条。 每条600块。
需要 349亿人民币。
你 的定义很费钱。
java中 jvm 的内存是有限制的不管是idea还是eclipse 都有限制, 实测 在idea 中 byte数组的长度不能大于 (2147483645 B) 约 (2G = 2147483648 B), 如果大于2G会直接编译报错 如果在 2147483645 - 2147483648 之间运行会报错
当然可以自己调整jvm默认的内存 ,调整的内存越大,能分配的长度自然也就越大