본문 바로가기

Service Provider Framework Pattern * 구성 Compenent 1) Service Interface : Service 사용자에게 제공하기 위해 표준?으로 정한 API가 정의된 Interface 2) Service Registration API : Provider Interface의 구현체를 등록하는 API 3) Service Access API : Service Interface의 구현체를 얻어오는 API (정적 팩토리 메소드) 4) Provider Interface : Service Interface의 하위 객체를 생성해주는 API가 정의된 Interface * Service Provider Framework Pattern 구현 간단예 (JDBC가 해당됨) // 1) Service Interface public interface Serv.. 더보기
Java 클래스 멤버 변수들의 초기화 순서 Java 클래스 멤버 변수들의 초기화 순서 1. static 변수 선언부 : 클래스가 로드 될 때 (메모리 모델상 Methd area 에 올라감) 변수가 제일 먼저 초기화 됨 2. 필드 변수 선언부 : 객체 생성 될 때 (메모리 모델상 Heap area에 올라감) 생성자 block 보다 앞서 초기화 함 3. 생성자 block : 객체 생성 될 때 (메모리 모델상 Heap area에 올라감) JVM이 내부적으로 locking (thread safe 영역임) 필드 변수 중 final 변수의 가시화는 (다른 스레드에 공개하는 시점은) 생성자 block이 끝난 다음. 필드 변수 선언부에서 이미 초기화 되었다면 그 값들은 덮어 씀 참고: http://cluster1.cafe.daum.net/_c21_/bbs_se.. 더보기
Java Memory Model 영역 대상 Method area (GC의 permanent generation) 메소드의 바이트코드 클래스(static) 변수 constant pool Heap area (GC의 young generation, old generation) instance 변수 (string constant포 함) Stack area local 변수 더보기