空Hashtable对象有多大

时间:2010-02-04 18:59:51

标签: java-me hashtable

J2ME中Hashtable对象的大小(以字节为单位)是多少?我的意思是使用Hashtable的开销是多少?

2 个答案:

答案 0 :(得分:2)

对于空哈希表,这可能因设备而异。

您可以按照以下方式自行进行球场测量:

Runtime rt = Runtime.getRuntime();
long freeMem = rt.freeMemory();
Hashtable ht = new Hashtable();
long sizeofHashtable = freeMem - rt.freeMemory();

答案 1 :(得分:0)

对于_numberOfKeys和_threshold,哈希表是基本对象的24个字节+ 2个整数(每个4个字节)。 _hash,_key和_value(内部哈希表变量)将由哈希表的容量和哈希表中对象的大小决定。如果您没有在构造函数中传递容量,则容量设置为11,如果需要更多容量,则哈希表具有增加容量的逻辑。

_hash是一个int(哈希)数组,因此等于哈希表容量(注意:容量 键数) * 4字节。 _key和_value是 Object 类型的数组,因此即使它们都为null,它们也会将4个字节用于空指针。

希望这对任何人都有帮助!