Pull to refresh

Comments 4

Java идет своим особым путем, монопольное использование ресурсов, терабайтные кучи, использование процессорного механизма виртуальной памяти. Кажется, немного неактуально уже во время популярности микросервисов и относительно маленьких быстрозапускаемых контейнеров.

Люди программируют не только веб с микросервисами

монопольное использование ресурсов

Не очень понял, на основании чего вы сделали такой вывод. Процесс Java использует те ресурсы, которые вы ему выделили. При желании можете ограничивать как считаете нужным.

терабайтные кучи

16 ТБ - это ограничение сверху, а не минимальное требование. Можете спокойно использовать ZGC и с мелкими кучами.

использование процессорного механизма виртуальной памяти

Виртуализацию памяти используют все прикладные процессы, на каком бы языке вы их не написали. Так работают современные компьютеры. Не очень понимаю, в чем у вас тут претензия к Java.

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

Микросервисы - это про маленькие зоны ответственноси, а не про маленькие объемы оперативной памяти.

Java идет своим особым путем

В данном случае особый путь Java только в том, чтобы предоставлять разработчику на выбор больше вариантов сборщиков, чтобы можно было подобрать подходящий даже в случае достаточно специфических требований. А сервисы с такими требованиями будут всегда, независимо от того, что сегодня популярно в мейнстриме. Другие платформы, действительно, так не делают.

Статья крутая, спасибо, но есть вопрос по фазе Pause Relocate Start. Вы пишите "он (объект) переносится в новый блок памяти, корневой указатель на него красится и сборщик запоминает соответствие старого и нового адреса перемещенного объекта в специальных таблицах переадресации ". Из этой фразы я понял, что ИЗ КОРНЯ указатель ВСЕ ЕЩЕ указывает на адрес ДО перемещения (хоть он и перекрасился и занесся в таблицу переадресации). Но на картинке адрес из корня уже указывает на новое место объекта 4. Так как в итоге? Во время этой фазы ссылки из корней меняются на новые адреса? Или объекты фактически перемещаются, но ссылки меняются во время следующей фазы (Concurrent Remap)?

Sign up to leave a comment.

Articles