具有内存大小限制的Java队列

时间:2015-04-06 10:57:02

标签: java memory-management collections queue

我一直在尝试查找具有特殊大小限制的Java队列实现。与限制队列中对象数量的通常大小参数相比,我需要限制队列的最大内存使用量(以字节为单位)。该队列将用于保存大小不同的对象,一些非常大,一些非常小。即队列只能容纳少量大型物体和较大量的较小物体。

另一种可能性是插入方法中带有size参数的队列。在向队列添加新元素时,我可以指定要添加的对象的大小。

有人知道这样的Java队列实现吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

https://github.com/ehcache/sizeof

<dependency>
  <groupId>org.ehcache</groupId>
  <artifactId>sizeof</artifactId>
  <version>0.3.0</version>
</dependency>

private SizeOf sizeOf = SizeOf.newInstance();

在实现类的add方法中,总是检查队列sizeOf.deepSizeOf(this)的大小,如果此值超出预期限制,则抛出IllegalStateException。

HTH