伊谢尔伦2017-04-18 10:00:39
개인적으로 S0과 S1은 성능 향상을 위해 존재한다고 생각합니다.
생존자 공간 활용도 :
언제든지 비어 있는 생존자 공간이 하나 있습니다. 다음 복사 컬렉션 중에는 eden과 다른 생존자 공간에 있는 라이브 개체가 이 공간에 복사됩니다.
라이브 객체는 객체가 충분히 오래되어 종신 세대에 배치될 수 있을 때까지 두 생존 공간 사이에서 앞뒤로 복사됩니다(과거 복사)
가비지 수집 중에 죽은 개체를 정리해야 하기 때문에 생존 영역이 하나만 있는 경우 이 생존 영역의 죽은 개체는 메모리 조각화를 방지하기 위해 정리된 후 메모리 조각을 생성합니다. 이동해야 합니다. 그러면 성능이 저하됩니다.
위의 설명에 따르면 생존 영역이 2개라면 메모리 조각화 문제는 발생하지 않습니다.
SO의 답변은 다음과 같습니다: http://stackoverflow.com/ques...
大家讲道理2017-04-18 10:00:39
신세대는 复制收集算法
을 사용하고, 두 서바이버 영역은 复制收集算法
과 협력하게 된다.
내 블로그 중 하나에서 이러한 유형의 문제를 자세히 소개했습니다. 관심이 있으시면 살펴보실 수 있습니다.