자바 2

Eclipse + tomcat 을 이용한 프로젝트 환경에서 최소단위의 HotDeploy와 같은 환경을 구성하기 위한 방법

이클립스 + 톰캣을 이용한 개발을 진행할 경우 톰캣서버를 Restart the server in debug mode로 실행해서 개발하시는 분들이 있으신가? 위이미지에서 빨간 색으로 표시한 벌레 아이콘 버튼이다. 디버그 모드는 말그대로 디버그 = 개발을 위한 모드라는 뜻이다. 디버그 모드는 개발자에게 편리한 기능을 제공하는데, 그중 이번에 알아볼 기능은 HotDeploy 기능이다. 물론 하드한 HotDeploy 기능(method 추가 및 삭제시 적용) 까지는 제공되지 않는다. (JRebel 라는 HotDeploy 용 유료 플러그인이 존재하나 그 수준까지 제공하는지 모르겠다.) 그러나 그런 좋은 기능은 톰캣자체 내에서의 class 변경 관제 프로세스로 인한 restart 때문에 제 역활을 하지 못하는데.....

tomcat 2012.12.20

java의 synchronized 분석

요즘 jsr 133 자바 메모리 모델을 보고 있는데, 처음에 lock거는 부분에 대해 나오더군요. 자바에서 lock을 거는 것은 보통 synchronized 구문을 이용하는데, 일반적인 자바 책에서는 "synchronized를 걸면 동시 접속이 안된다." 까지만 나와 있었는데, 보다가 보니 재미있는 부분들이 있어서 정리해볼랍니다. synchronized (anObject){ // code!! } 위와 같은 구문은 anObject를 기준으로 잡습니다. 그렇기 때문에 완전히 다른 객체끼리도 동기화가 가능합니다. 다음은 제가 주로 사용하는 디버깅 코드입니다. synchronized (java.lang.Object.class) { System.out.println("===========디버깅 시작했다~=====..