CSS: как получить полосы прокрутки для div внутри контейнера фиксированной высоты

Реализации обычно поддерживаются массивами. Массивы являются блоками фиксированного размера памяти. hashmap реализация запускается, храня данные в одном из этих массивов на данной способности, скажите 100 объектов.

, Если это заполняет массив и Вы продолжаете добавлять, возражает, что карта должна тайно увеличить свой размер массива. Так как массивы фиксируются, это делает это путем создания совершенно нового массива, в памяти, наряду с современным массивом, который немного больше. Это упоминается как рост массива. Тогда все объекты от старого массива копируются в новый массив, и старый массив разыменовывается с надеждой, это будет собрано "мусор", и память освобождена в какой-то момент.

Обычно код, который увеличивает способность карты путем копирования объектов в больший массив, является причиной такой проблемы. Существуют "немые" реализации и умные, которые используют фактор роста или коэффициент загрузки, который определяет размер нового массива на основе размера старого массива. Некоторые реализации скрывают эти параметры, и некоторые не делают так, Вы не можете всегда устанавливать их. Проблема состоит в том, что, когда Вы не можете установить его, это выбирает некоторый коэффициент загрузки по умолчанию, как 2. Таким образом, новый массив является дважды размером старого. Теперь Ваш, предположительно, 50k карта имеет вспомогательный массив 100k.

Надеются видеть, можно ли уменьшить коэффициент загрузки вниз до 0,25 или что-то. это вызывает больше коллизий карты хеша, который повреждает производительность, но Вы поражаете узкое место памяти и должны сделать так.

Использование этот конструктор:

( http://java.sun.com/javase/6/docs/api/java/util/HashMap.html#HashMap (интервал , плавание))

82
задан David 10 January 2011 в 12:15
поделиться

1 ответ

FWIW, вот мой подход = простой, который работает на меня:

<div id="outerDivWrapper">
   <div id="outerDiv">
      <div id="scrollableContent">
blah blah blah
      </div>
   </div>
</div>

html, body {
   height: 100%;
   margin: 0em;
}

#outerDivWrapper, #outerDiv {
   height: 100%;
   margin: 0em;
}

#scrollableContent {
   height: 100%;
   margin: 0em;
   overflow-y: auto;
}
2
ответ дан 24 November 2019 в 09:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: