这是一个有点傻的问题,但还是要讲一下。
我有一个多线程程序和一个“全局”的唯一元素集合。由于性能原因,我拒绝使用同步Set实现,而选择了ConcurrentHashMap。我不需要Map中的Value部分,所以我想使用Java中内存使用最小的Object。我用另一种方式解决了这个问题(在Map中引用了单个Boolean对象),但我仍然很好奇Java中最小的对象是什么。我一直认为它是Boolean,但我想这不是真的(参见Java - boolean primitive type - size 和 Primitive Data Types)。
Set<K>
,你可以使用Collections.setFromMap(new ConcurrentHashMap<K, Boolean>())
。这会为你完成工作 :-) - obatakuObject
... 因为它是每个其他Object
的基类... :-) - obataku