-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[item6] 요즘 JVM의 가비지 컬렉터는 상당히 잘 최적화되어서 가벼운 객체용을 다룰때는 직접 만든 객체 풀보다 훨씬 빠르다? #7
Comments
아직 못 봤는데 최근에 gc글 올라온 거 있어서 혹시나 하고 공유합니다! |
GC가 객체 풀 역할을 해주는 것이 아니고 이번 item의 주제는 즉, 가벼운 객체를 다루는 직접 만든 객체 pool의 비용 > GC의 비용 |
장호님 답변처럼 객체 풀 역할을 해주는 것으로 보이진 않습니다. 위 문구에 대한 내용을 자세히 따져보아 의문점을 달아보면 다음과 같을 것 같습니다.
개인 스터디 브랜치 내용 몇 가지를 공유 합니다.
|
다시보니, 이펙자바에서 이야기한 내용이 가벼운객체의 경우 자체적으로 만든 객체풀을 사용할경우 풀로 반납의 비용보다 GC가 수거해가는 비용이 더 적다는 것을 이야기하는것 같네요~ (GC가 최적화가 잘 되어있기때문에) 장호님이 답변주신 내용으로는 pool로 객체생성하는 비용이 GC의 비용보다 비싸다고 말씀해주신것 같아서, 관련해서 생각해보았는데, pool은 어차피 보통 생성이 필요할떄 갯수에 맞춰서 생성되거나 초기에 쭉 생성되기떄문에, 객체수거시 지속적으로 발생하는 GC비용과 비교하는건 좀 어렵지 않을까 생각도 되었습니다~(제가 잘못 이해했다면 말씀주세요ㅠㅎㅎ) |
@makga87 @KimJeongHoon3
|
@pjhsk113 아하 결국 같은말이네요 ㅋㅋ 감사합니다~~! |
해당 글귀가 개정판 이후에 적힌 글귀인지 확인이 필요하겠네요. 그리고, 7,8,9 버전인경우에도 마찬가지 아닐까요? 과거 가벼운 객체역시 풀을 사용하던 시절은 결국, 개선된 GC를 사용하기 전이고요, 결국 싱글스레드로 GC처리 할 때 발생하는 문제로 귀결되는건 마찬가지로 보여집니다 |
[추가]
|
stop the world는 minor, major 모두 일어나는가? |
p34 아래쪽부분에 자체 객체 풀을 만드는것을 조심해야한다며, 요즘 JVM 가비지 컬렉터가 뭔가 객체 풀 역할을 잘 해준다는 이야기 같은데.. 개인적으로 GC가 안쓰는 객체를 처리한다고만 알고있어서 그런지, 해당 구절이 잘 이해가 안되네요~
GC 관련해서 잘 아시는분 계시면 기깔난 설명 부탁드려요 ㅎㅎ 혹은 간단하게나마 같이 공부하면 어떨까 싶어서 질문올려요!
The text was updated successfully, but these errors were encountered: