Java me 空哈希表对象有多大

Java me 空哈希表对象有多大,java-me,hashtable,Java Me,Hashtable,J2ME中哈希表对象的大小(字节)是多少?我的意思是,使用哈希表的开销是多少?哈希表是基本对象的24字节+2个整数(每个4字节)的_numberOfKeys和_阈值。_hash、_key和_value(内部哈希表变量)将由哈希表的容量和哈希表中对象的大小决定。如果不在构造函数中传递容量,则将其设置为11,如果需要更多容量,则哈希表具有增加容量的逻辑 _hash是一个整数数组(hash),因此等于哈希表容量(注意:容量不是键数)*4字节。_键和_值是对象类型的数组,因此即使它们都为null,也会将

J2ME中哈希表对象的大小(字节)是多少?我的意思是,使用哈希表的开销是多少?

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

_hash是一个整数数组(hash),因此等于哈希表容量(注意:容量不是键数)*4字节。_键和_值是对象类型的数组,因此即使它们都为null,也会将4个字节作为空指针


希望这对任何人都有帮助

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

您可以按如下方式自己进行大致测量:

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

显然,这取决于谁在手机上的J2ME实现中编写了Hashtable.java类。我想这个答案是指Sun Ltd PhoneME的开源版本。你是对的,我应该包括我写的手机,它是黑莓手机。我相信Hashtable类是由RIM实现的。内存开销是一回事。当然,对于哈希表来说,CPU的使用更为重要。不过,重新使用的频率将取决于人们如何使用表格。