J2ME中Hashtable对象的大小(以字节为单位)是多少?我的意思是使用Hashtable的开销是多少?
答案 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个字节用于空指针。
希望这对任何人都有帮助!