Комментарии 5
Неплохая статья, написанная простым языком.
Но раз это введение, то значит планируется продолжение? Если да, то хотелось бы каких-нибудь примеров утечек памяти из реальной практики. Или как выбрать правильный GC в зависимости от того, какие у меня объекты в программе (например если приложение многопоточное, или очень много мелких маложивущих объектов, или, наоборот, объектов мало, но почти все они тяжёлые синглтоны).
-XX:MetaspaceSize
- минимальный объём памяти для области
Это не так. MetaspaceSize - это порог (a high-water mark), при достижении которого инициируется сборка мусора.
Спасибо за статью, буду ждать продолжение.
Пара вопросов-замечаний:
Вы пишете, что строковый пул находится в хипе. Но строковый - это лишь один из пулов. Думаю, лучше пояснить, что это касается всех пулов.
На рисунке 3 области Eden, Old и S находятся над хипом, а не в нём, хотя по тексту явно сказано, что эти ребята являются "составляющими хипа". Так что картинка конфузит.
Хорошая статья для новичков, но: есть спицификация JMM - Java Memory Model. Появилась в 5й Java, описывает доступ нескольких потоков к одному объекту. Вот например хорошая статейка: https://devsday.ru/blog/details/818
Что такое Java Process Memory Model - гугл молчит. Нашел статью на русском, полагаю с таким же неверным употреблением: https://coursebook.ru/article/item/6
Поправьте название например на Java Memory Management или структура памяти, иначе сбивает с толку
Введение в Java Process Memory Model