java - jvm 年轻代 如何回收 survivor 对象
PHPz
PHPz 2017-04-18 10:51:28
0
2
941
  • 1.jvm年轻代内存回收 Eden:survivor=8:1

  • 2.采用复制算法 Eden区满后标记后将存活对象房子survivor0里 如下图:

下一次Eden 满了 会将对象放到之前清空的 survivor1的区域里

问:

  • 1.survivor的对象如何被清理 同样是标记-清除/整理算法嘛?

  • 2.对象从年轻代到老年代是经过每次gc时候 还是动态的进入,当达到某一条件晋升?什么条件

PHPz
PHPz

学习是最好的投资!

모든 응답(2)
洪涛

안녕하세요 lz, 이전에 제 기사 A Brief Analysis of JVM Memory Management에 대한 귀하의 의견을 보았고 귀하의 질문도 보았습니다. 내 기사에 언급되어 있습니다:

  1. 생존자 영역은 젊은 세대에 속하며 복사 수집 알고리즘을 사용합니다

  2. 두 생존자 영역 사이를 여러 번(기본값은 15회) 이동한 후에도 여전히 살아있는 객체는 결국 Old Generation으로 이동됩니다.

  3. 매우 큰 객체가 Old Generation에 직접 입력

刘奇

"Java Virtual Machine에 대한 심층적인 이해"를 읽어보는 것이 좋습니다.

1. 신세대의 GC 알고리즘은 거의 모두 복제 알고리즘입니다. 즉, 생존자도 Old 세대에 복사됩니다.
2. 객체가 신세대에서 구세대로 이동하는 경우에는 여러 가지 상황이 있습니다

으아악

다른 상황도 있으니 책을 읽어보세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿