비 정적 인 맵을 가진 싱글 톤 객체가 있는지 알고 싶습니다. 왜지도의 객체가 힙이 아닌 공간을 차지할 것인가? 나는 Visual Basic VM에서 Map Pergem 공간에 객체가 교차하는 것을 볼 수 있습니다.젬당 싱글 톤 패턴을위한 메모리가 부족함
내가 알고있는 것은 정적 변수 일 뿐이며 클래스는 pergem space rest에서 모든 객체가 힙에 가야한다는 것을 알고있었습니다.
싱글 톤 객체가 정적 인 곳에서 참조가 힙을 가리키고 있지만 여전히 pergem에서 크기를 유지하는 싱글 톤 패턴 때문입니까?
이 경우 어떤 문제가 발생합니까?
싱글 톤 내의 모든 필드는 실제로 정적입니다. 싱글 톤은 그냥 혼란스러워. PermGen (존재하는 구현체)은 클래스 데이터와 내부 문자열에 할당 된 객체로 가득 차 있습니다. 클래스 로더를 다시로드하는 경우 통계를 통해 이전 코드가 언로드되는 것을 방지 할 수 있습니다. 대부분의 GC 활동은 PermGen을 무시하므로 예상보다 오래 걸린 개체를 볼 수 있습니다. –
싱글 톤을 사용하는 것이 근본적인 문제라고 말하고 싶습니다. DI로 전환하고 [@ 싱글 톤] (http://google-guice.googlecode.com/git/javadoc/com/google/inject/Singleton.html)을 사용하면 어떨까요? – maaartinus