(스프링) Ioc컨테이너와 DI

<IOC 컨테이너를 통해 애플리케이션이 만들어지는 방식>
결국 스프링 애플리케이션이란, POJO클래스와 설정 메타정보를 이용해 IOC 컨테이너가 만들어주는 오브젝트의 조합이다.

RootBeanDefinition을 보면 bean클래스가 private volatile Object beanClass;

로 되어있는 것을 볼 수 있다.

이는 volatile을 선언하게 되면 cpu cache에 해당 값을 저장하는 과정 없이 오직
 MainMemory에서 값을 읽고, 쓰는 과정을 거친다.

즉, 멀티쓰레드에서 한개의 쓰레드가 read&write를 하더라도 다른 쓰레드에서 읽기를 하는 경우 값이 변하더라도 항상 일관된 값을 유지하게 해준다.

댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기