전체 글
힙덤프
Heap 동적으로 할당되어 사용할 수 있는 메모리 영역 주로 실행중에 생성되는 객체들이 저장되고, 실행 후 제거되는 영역 GC(Garbage Collection)의 대상의 되는 메모리 영역 가비지 컬렉터는 가비지 컬렉션을 통해 힙 영역에 있는 사용되지 않는(더이상 참조가 없는) 객체를 회수한다. 힙 덤프 : 힙 메모리의 내용을 그대로 파일로 떠놓은 것. 주의 : 서버에서 이 파일을 열면 안됨. 서버의 메모리를 사용하여 서버 다운될 수 있다. 메모리 누수 힙 영역에 있는 동적으로 할당된 객체가 더 이상 사용되지 않음에도 불구하고 가비지 컬렉터에 의해 회수되지 않고 메모리에 남아있어서 자리만 차지하는 현상 OOM 메모리 부족현상 어플리케이션이 동작하지 못하고 JVM이 종료되는 최악의 상황. 24시간 서비스하..

JDBC
정의 자바에서 데이터베이스에 상관없이 DBMS에 접근하기 위해 사용되는 API 디비 접속, SQL 실행, 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 대한 규약 네이버의 경우 DDos 공격으로 L4가 죽어 네트워크가 단절되어 WAS도 동작 불능 상태가 되었다. WAS의 쓰레드 덤프를 통해 JDBC의 API 호출 중에 WAS가 정지해있음을 알게 되었고, 10~20분이 지나도 WAS는 여전히 WAITING였고, 서비스는 정상동작하지 않았다. 그런데 30분 지나서 Exception을 발생시키면서 서비스가 복구되었다고 한다. QueryTimeout도 3초인데 왜 30분씩이나 WAS가 정지되어 있고, 왜 30분이 지나서 동작한걸까? d2.naver.com/helloworld/1321 JDBC 드라..
팩토리패턴
팩토리 패턴의 핵심은 클래스의 인스턴스를 만드는 것을 서브클래스에서 결정하도록 한다는 것이다. 즉, new 키워드를 사용하는 부분을 서브클래스에 위임함으로서 객체 생성을 캡슐화하고 구상 클래스에 대한 의존성이 줄어든다는 이점을 얻을 수 있다. 특히 구상 클래스에 대한 의존성이 줄어드는 것은 의존성 뒤집기 원칙(Dependency Inversion Principle:DI)에 기인하는데, DI는 자바 진영에서 널리 쓰이고 있는 Spring 프레임워크의 핵심 개념 중 하나이다. 싱글톤 패턴과 더불어 가장 유명하고 널리 쓰이는 디자인 패턴 중 하나라고 할 수 있다.