Conference in Kyiv for Java Practitioners



Его презентацию можно глянуть тут: http://jeeconf.com/materials/memory-reduce/

В основном речь шла о footprint.
Многие, наверное, знают о существовании такой полезной вещи как GC. Он обладает 3-я ключевыми характеристиками: throughput, predictability, footprint. Для получения более подробной информации стоит просмотреть доклад, а здесь приведем его основные тезисы,  которые стоит запомнить.
  • ·         Возможно, не все знают, что откалибровать коллектор можно на выигрыш только по двум ключевым характеристикам, упомянутым высше. 
  • ·         Чем больше памяти доступно, тем GC продуктивней и резвее работает (более редкие сборки, менше затраты).
  • ·         Распаковка «OOP»-совых указателей – «дешевая» операция.
  • ·         Неграмотное использование «сжатых» указателей чревато увелечением размера данных в 1.4 раза (работаю только до 32Гб)  -ХХ:+UseCompressedOops.
  • ·         Грамотно используйте типы ссылок (Strong, Soft, Weak, Phantom)!
  • ·         Организуете кэширование на уровне вашего приложения с использованием «мягких» ссылок, аля GC-friendly cache!
  • ·         Не используйте финализаторы! Никогда не используйте финализаторы! Более безопасное и практичное решение – использование «фантомных» ссылок.
  • ·         Пользуйтесь параметром агрессивности очистки: -XX:SoftRefLRUPolicyMSPerMB !
  • ·         Выставляйте ожидаемый размер коллекции при создании
  • ·         ThreadLocal + ThreadPool = мусор в пулах.
  • ·         Используйте NIO !
                                                                                      Yaroslav Trokhymenko, DataArt copyright (2013)


Комментарии

Популярные сообщения из этого блога

Пик Ленина (полезные заметки самостоятельного восходителя)

Только осознание своей не вечности дарит путь в стремительном потоке жизни ... Only the realization of your own not eternity

Skoda Kodiaq отзывы