BitSet使用的内存比应该多

时间:2016-12-30 11:10:19

标签: java out-of-memory bitset

我正在编写代码来计算我使用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位程序,这些数字应该没有任何限制吗?

0 个答案:

没有答案