가비지컬렉션이란 쓰레기 값 :: 참조되지 않는 값을 의미한다.
JVM이 지워준다고 하는데, 왜 우리가 신경을 써야할까 ?
같은 파일에 속성을 보았을 때, 왜 크기와 디스크할당크기가 나뉘어있고 크기가 다를까?
컴퓨터는 보조기억장치와 주기억장치로 나뉘어 있다. 디스크는 어디와 더 가까운 걸까?
보조기억장치에 더 가깝다.
저장할 때는 1byte로 저장을 했는데, 사용할 때 사용되는 크기는 이제 (TLS)8kb로 사용하게 될 것이다.
+ ssd는 하드디스크랑 다르게 덮어쓰기가 불가능하다. read/write이 8kb와같이 크다면, 어떻게 구성해야하나 ?
SSD는 새로운 데이터를 쓰기 위해서 크게 3가지의 과정을 거친다.
1. 유효한 페이지 복사
2. 블록 전체 삭제
3. 새로운 데이터 쓰기
[쉽게 말하면,]
- 참조를 끊어놓는다. (실제 삭제하지 않음)
- OS 자체에서 사용자가 보조기억장치만 쓰고 주기억장치가 사용되고있지 않다고 판단되면, 그때 실제로 삭제한다.
ex ) 게임하는데 갑자기 PC가 우웅하면서 재부팅 되는 느낌이 드는 것
=> 가비지컬렉션 하는 것
유효블록을 남겨둔 것이다.
1. 가비지컬렉션하기위해
2. 성능 좋게하기 위해서
3. 복원 잘 할 수 있기 위해서
내용을 어지럽게 써둔 것 같은데 다시 공부를 하고 잘 정리해야겠다. 이제 HW의 가격을 내리고 크기를 올리는 추세라고 하는데, 이거에 대응되는 SW를 만들기 위해 저장공간/가비지컬렉션 하는 방법을 주의하면서 공부해야겠다.