我正在编写代码来计算我使用BitSet
的素数。
执行时:
int count = 1_500_000_000; // 1.5 billion
BitSet bitSet = new BitSet(count);
我收到例外java.lang.OutOfMemoryError: Java heap space
在我的小世界里,一个拥有15亿个托管的BitSet
大致应该使用:
1500000000 / 1024 / 1024 / 8 ~= 180
兆字节的内存。
即使我正在创建一个32位程序,这些数字应该没有任何限制吗?