当我尝试使用Java创建一个非常大的布尔数组时,例如:
boolean[] isPrime1 = new boolean[600851475144];
我可能会丢失精度错误?
太大了吗?
要存储6000 亿位,您需要一个75 千兆字节的绝对最小地址空间!祝你好运!
更糟糕的是,Java规范没有规定boolean数组将为每个元素使用单个内存位 - 它可能(在某些情况下)使用更多.
boolean
无论如何,我从Project Euler#3中识别出这个数字.如果它需要那么多记忆,那你做错了......