簡體   English   中英

具有內存大小限制的 Java 隊列

[英]Java queue with memory size limit

我一直在嘗試尋找具有特殊大小限制的Java隊列實現。 與限制隊列中對象數量的常用大小參數相反,我需要限制隊列的最大內存使用量(以字節為單位)。 隊列將用於保存大小非常不同的對象,有些很大,有些很小。 即隊列將只容納少量的大對象和更多的小對象。

另一種可能性是插入方法中帶有大小參數的隊列。 向隊列添加新元素時,我可以指定要添加的對象有多大。

有人知道這樣的Java隊列實現嗎?

謝謝!

https://github.com/ehcache/sizeof

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

這個庫為您提供了一種檢查隊列大小的方法:

private SizeOf sizeOf = SizeOf.newInstance();
sizeOf.deepSizeOf(someQueue)

在您的實現類的add方法中,始終使用sizeOf.deepSizeOf檢查隊列的大小,如果此值超出您的預期限制,則拋出 IllegalStateException 或以其他方式處理錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM