молодой GC пауза против паузы STW

Когда молодое поколение GC делает паузу -

  1. Останавливает ли это приложение на какое-то время?
  2. Имеет ли приложение доступ к памяти в это время?

Приложение IIUC в остановке мирового GC (STW GC) будет приостановлено и не будет иметь доступа к памяти, но интересно, каковы побочные эффекты молодого GC? Контекст для справки. Недавно мы перешли на Java 11 с G1GC, и у нас происходит много молодых GC по сравнению с Java 8.


person Sagar    schedule 19.04.2019    source источник


Ответы (1)


  1. да. включить GC или safepoint регистрация, чтобы увидеть время паузы
  2. в основном нет. stop-the-world означает, что потоки приложений приостановлены. Код JNI может по-прежнему выполняться во время сборки мусора, если он не обращается к дескрипторам объектов и может обращаться к ресурсам вне кучи.
person the8472    schedule 19.04.2019
comment
Просто чтобы подтвердить, оба вышеперечисленных пункта предназначены для молодых gc, а не для STW, это правильно? - person Sagar; 19.04.2019
comment
Молодая коллекция в G1 является коллекцией STW. STW просто описывает поведение конкретного сборщика, а не конкретной фазы или поколения. Они ортогональны и могут отличаться в других сборщиках. - person the8472; 19.04.2019