你如何使用Java制作真正的大型布尔数组?

Mia*_*ian 9 java boolean

当我尝试使用Java创建一个非常大的布尔数组时,例如:

    boolean[] isPrime1 = new boolean[600851475144];
Run Code Online (Sandbox Code Playgroud)

我可能会丢失精度错误?

太大了吗?

Aln*_*tak 16

要存储6000 亿位,您需要一个75 千兆字节的绝对最小地址空间!祝你好运!

更糟糕的是,Java规范没有规定boolean数组将为每个元素使用单个内存位 - 它可能(在某些情况下)使用更多.

无论如何,我从Project Euler#3中识别出这个数字.如果它需要那么多记忆,那你做错了......