#database #apache-iotdb #iotdb
#База данных #apache-iotdb #iotdb
Вопрос:
Привет~ Я разработчик, который хочет изучить и изменить код IoTDB для нашей компании. Когда я увидел код ТВ-списка IoTDB. Мне было любопытно, почему IoTDB использует массивы массива, а не список в TVList. С массивами массива метод сортировки и метод удаления станут сложными и могут содержать ошибки. Структура списка проста в сортировке, добавлении и удалении и была проверена множеством пользователей. Почему бы не использовать List для замены массивов массива в TVList.
Ответ №1:
Привет~ Я являюсь участником IoTDB, и я очень рад, что вы заинтересованы в IoTDB и присоединяетесь к развивающемуся сообществу IoTDB.
Для вашего вопроса давайте в качестве примера используем 32-разрядное целое число. При использовании структуры списка мы должны перевести int в целое число в java. Одно целое число занимает 4 байта памяти, но одно целое число занимает 16 байтов памяти (8 байтов слов-меток, 4 байта ссылок и 4 байта данных int). TVlist хранит данные о приеме IoTDB, поэтому он имеет решающее значение для памяти. По сравнению с использованием Integer, использование int сэкономит 3/4 памяти.
В ореховой скорлупе мы используем массивы массива для экономии памяти.