프로그래밍/JAVA&J2EE 15

java 7 변화된 점

1. Null의 체크기존 null 체크 소스 view plaincopy to clipboardprint?public String getPostcode(Person person)  {  if (person != null)  {  Address address = person.getAddress();  if (address != null)  {  return address.getPostcode();  }}  return null;  }  java 7의 소스 view plaincopy to clipboardprint?public String getPostcode(Person person)  {  return person?.getAddress()?.getPostcode();  }  2. String 으로 swit..

이클립스 주요 단축키

기본적으로 Preference > General > Keys에서 대부분(모든)의 단축키 확인 가능합니다. Ctrl+Shift+L : 단축키 보기 Hint [거의 달고 사는 단축키] ctrl + s : 저장 및 컴파일 ctrl + i : 소스 깔끔 정리(인덴트 중심의 자동구문정리) ctrl + space : 어휘의 자동완성(Content Assistance) ctrl + 1 : Quick Fix(Rename에 주로 사용) ctrl + shift + M : 캐럿이 위치한 대상에 필요한 특정클래스 import ctrl + shift + O : 소스에 필요한 패키지의 자동 임포트 ctrl + / : 한줄 또는 선택영역 주석처리/제거 ctrl + Q : 마지막 편집위치로 가기 ctrl + L : 특정줄번호로 가기..

JVM(Java Virtual Machine)

JVM은 Java Virtual Machine의 약자이다. Machine이라는 말이 들어가 있긴 하지만, 실제로는 소프트웨어이다. Machine이라는 말이 들어간 이유는 JVM이 실제적으로 CPU와 같은 역할을 하기 때문인 것이라고 추정된다. 프로그램은 CPU 위에서 돌아가게 된다. 따라서 C나 C++과 같은 일반적인 프로그램 언어에서 컴파일하여 생성된 코드는 바로 해당 CPU에서 실행이 가능한 코드이다. 하지만 자바 소스코드(*.java)를 컴파일한 경우 생성되는 클래스파일(*.class)은 직접 CPU에서 동작할 수 있는 코드(native code)가 아니다. 생성된 클래스파일은 중간단계의 언어라고 할 수 있는 byte code로 이루어져 있다. 바로 이 byte code를 실행시키기 위한 가상적인 ..

캐싱 객체 구현

캐시를 이용한 성능 향상 (1) - 캐싱(Caching) 캐시를 이용한 성능 향상! 객체를 캐싱함으로써 객체 생성과 관련된 성능을 향상시킬 수 있다. 섹션 목록 캐싱(Caching) 객체 캐싱의 구현 캐싱의 성능 테스트 결론 [프린트 형식으로 보기] 캐싱(Caching) 성능을 향상시키기 위해서 많이 사용되는 방법을 말해보라고 하면 대부분 객체 풀링을 말한다. 특히 데이터베이스 커넥션 풀이나 쓰레드 풀과 같은 것들이 일반 개발자들에게 보편화되면서 객체 풀링은 성능 향상을 위해서 반드시 사용해야 하는 기술로서 여겨지기도 한다. 하지만, 객체 풀링 못지 않게 성능을 향상시킬 수 있는 방법이 있다. 바로 객체 캐싱이다. 객체 캐싱은 기존에 사용된 정보를 메모리에 저장해두었다가 다시 참조될 때 사용하는 기술로서..

서블릿 생명주기

- 요청 발생 - > 서블릿 인스턴스화 (생성자(default) 실행) -> - 서블릿 쓰레드를 생성 또는 쓰레드풀에서 하나를 가져온다. 서블릿 init()메소드 호출(초기화) -> 서블릿 service()메소드 호출 -> (이 과정에서 HttpServletRequest,HttpServletResponse의 구현체를 컨테이너가 생성하여 넘겨준다) -> 브라우져 방식에 따라 doGet 또는 doPost() 호출 (service메소드 내부에서) -> doPost()가 종료되고 service()메소드도 종료된다. -> destroy() 로 최종 정리 -> 목표를 잃은 HttpServletRequest,HttpServletResponse는 가비지컬렉터의 대상이 된다.