2022/03/03 5

JDBC / JNDI / DBCP

JDBC / JNDI / DBCP JDBC : 데이터베이스 커넥션 인터페이스 DBCP : DB커넥션을 어플리케이션 소스 내에서 제어하면서 DB Pool 가짐 JNDI : DB커넥션을 WAS단에서 제어하면서 서버에서 하나의 Connection Pool 가짐 DBCP - Database Connection Pool 의 약자이다. 요청이 올때마다 Connection 객체를 얻는 것이 아닌, 미리 일정 갯수 찍어내서 Connection Pool 로 관리 WAS가 실행되면서 미리 일정량의 DB Connection 객체를 생성하고 Pool 이라는 공간에 저장해 둠 HTTP 요청에 따라 필요할 때 Pool에서 Connection 객체를 가져다 쓰고 반환 JDBC 로딩 순서 드라이버 객체화 : Class.forName..

Programing/Spring 2022.03.03

Spring Basic

Spring Basic 구성요소 DispatcherServlet : 클라이언트 요청을 받아서, 컨트롤러에 요청을 전달하고 컨트롤러가 리턴한 결과 값을 View 에 전달하여 응답을 생성한다. (Struts 의 ActionServlet) HandlerMapping : 클라이언트 요청 URL 을 어떤 컨트롤러가 처리할지를 결정한다. (struts-config.xml 의 역할) Controller : 요청을 처리하고 결과를 리턴한다 (Struts 의 Action) ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰에 관련한 정보를 담는 객체 (struts의 forward 기능 포함) ViewResolver : 컨트롤러 처리 결과를 생성할 뷰를 결정View : 컨트롤러 처리 결과 화면을 생성하는 객체 ..

Programing/Spring 2022.03.03

JAVA Memory leak check / fix

JAVA Memory leak check / fix Stack : 스택, 지역 변수들 (메소드나 생성자들에서 선언되는) 것들이 할당된다. 지역 변수들은 메소드가 시작될 때 할당되고, 메소드가 끝날 때 할당해제된다. Heap : 힙, new 키워드를 통해서 만들어지는 모든 객체들이 할당된다. 지역변수는 primitive 자료형과 참조형 뿐 거의 없기 때문에, 어쩌다가 깊은 케이스나, 무한 재귀의 경우를 제외하면 스택은 잘 오버플로가 나지 않는다. JVM 은 힙에 살아있는 객체들이 가득 차고, 더 확장할 수 없다면 더 많은 객체를 할당 할 수 있다 자바 프로그램 메모리 누수의 전형적인 4가지 원인들은: Unknown or unwanted object references: 잘 모르고 있거나 원치않는 객체참조 ..

Programing/Java 2022.03.03