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