Насколько большой пустой объект Hashtable - PullRequest
1 голос
/ 04 февраля 2010

Каков размер (в байтах) объекта Hashtable в J2ME? Я имею в виду, что накладные расходы на использование Hashtable?

Ответы [ 2 ]

2 голосов
/ 05 февраля 2010

Для пустой хеш-таблицы это, вероятно, будет сильно различаться в зависимости от устройства.

Вы можете измерить приблизительную оценку самостоятельно следующим образом:

Runtime rt = Runtime.getRuntime();
long freeMem = rt.freeMemory();
Hashtable ht = new Hashtable();
long sizeofHashtable = freeMem - rt.freeMemory();
0 голосов
/ 04 февраля 2010

Хеш-таблица составляет 24 байта для базового объекта + 2 дюйма (по 4 байта каждый) для _numberOfKeys и _threshold. _Hash, _key и _value (внутренние переменные хеш-таблицы) будут определяться емкостью хеш-таблицы и размером объектов в хеш-таблице. Емкость устанавливается в 11, если вы не передаете ее в конструктор, а в хеш-таблице есть логика для увеличения емкости, если требуется больше.

_hash - это массив целых чисел (хэшей), поэтому он равен емкости хеш-таблицы (примечание: емкость не количество ключей ) * 4 байта , _Key и _value являются массивами типа Object , поэтому, даже если они все равны NULL, они принимают 4 байта за пустые указатели.

Надеюсь, это кому-нибудь поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...