2013-03-15 4 views
1

느리게로드되는 싱글 톤 빈을 사용할 때 스프링이 어떻게 메모리 사용을 최적화합니까?스프링 싱글 톤 메모리 사용 최적화

일부 모듈 (응용 프로그램 프레임/창)을 나타내는 싱글 톤 Bean이 있다고 가정하고이 모듈은 게으르다. 이 빈은이 프레임의 구성 요소이고 Spring의 IoC 컨테이너에 정의되지 않은 일부 클래스를로드합니다.

모듈 JFrame을 닫으면 프레임의 모든 구성 요소는 일반적으로 가비지 수집되어야하지만 여전히 스프링 빈에 의해 참조됩니다.

스프링은이 상황에서 메모리 사용을 최적화합니까?

정확히 말해서 프로토 타입에 대해서는 묻지 않고 싱글 톤에 대해서 묻고 있습니다. 우리는 창을 닫을 때 Spring 싱글 톤 메모리를 사용하는 곳에서 이상한 행동을하기 때문에. 윈도우에 프로토 타입 bean을 사용할 때 더 많은 메모리가 릴리즈됩니다.

답변

2

스프링은 인스턴스화 된 후에는 싱글 톤을 해제하지 않습니다. 윈도우 닫기에서 메모리를 해제하는 것은 아마도 윈도우가 닫힌 후에 수행되는 리소스 해제의 결과 일 것이고 아마도 스프링 빈과 아무 관련이 없을 것입니다. 더 많은 정보를 원한다면 몇 가지 코드, 빈은 무엇인지, 창은 어떻게 열리고 닫히는지를 게시해야합니다.

관련 문제