我必須實現一個隊列,在兩個不同線程的基礎上,根據一些因素,將對象添加到兩個不同的線程並將其刪除。我的問題是需求說隊列(整個隊列和數據它不應該)採取200KB +數據。如果大小爲200線程應該等待空間可用來推送更多的數據。對象推送可能會有所不同大小。我可以創建java隊列obut大小的隊列將返回總推送的對象,而不是使用的總內存我如何確定我的隊列引用的數據的總大小。確定隊列大小
考慮對象推爲
class A{
int x;
byte[] buf;//array size vary per object
}
你可以做類似於這裏描述的內容:http://stackoverflow.com/questions/52353/in-java-what-is-the-best-way-to-determine-the-size-of-an-對象 – Farlan
在我看來,ArrayBlockignQueue包含了這個功能。 (它看起來有一個固定的元素數量,而不是固定的大小。) –