Минимизация использования памяти в Java EE 5 для классов, примитивных типов данных и строк - PullRequest
0 голосов
/ 03 февраля 2012

Контекст: Java EE 5.

У меня на сервере запущено какое-то огромное приложение.Мне нужно реорганизовать классы так, чтобы их объем памяти оставался низким (в сторону наименьшего возможного) в обмен на процессорное время (которых достаточно).

Я уже знаю способы использования битовых операций для заполнения несколькихлогические значения, шорты или куски в int (например).

Мне понадобятся другие идеи по оптимизации, например, что мне делать со строками, какие коллекции лучше использовать, и все остальное, что выслучайно знаю.

Спасибо, вы, ребята, правите!

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

Этот PDF-файл о эффективности памяти в Java может быть интересен для вас.

Особенно стандартные коллекции кажутся огромными потерями памяти.Но первым шагом перед выполнением микрооптимизации будет профилирование вашего приложения, создание дампов кучи и их анализ.

1 голос
/ 03 февраля 2012

Несколько вещей, которые нужно учитывать

  • Если вы закончили с объектом, и он останется в области видимости, установите для него значение null
  • Вместо этого используйте StringBuilder (или StringBuffer, если вам нужна безопасность потоков) объединения строк.

Однако, если использование памяти является такой проблемой, это может быть архитектурная проблема с кодом.

...