我必须实现一个队列,在两个不同线程的基础上,根据一些因素,将对象添加到两个不同的线程并将其删除。我的问题是需求说队列(整个队列和数据它不应该)采取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包含了这个功能。 (它看起来有一个固定的元素数量,而不是固定的大小。) –