본문 바로가기

IT/Java17

Java Tip #2 : 큐(Queue) 성능 테스트 결과 ArrayList - 넣기 : 38ms ArrayList - 빼기 : 36851ms HashMap - 넣기 : 170ms HashMap - 빼기 : 17ms ConcurrentLinkedQueue - 넣기 : 156ms ConcurrentLinkedQueue - 빼기 : 17ms LinkedList - 넣기 : 41ms LinkedList - 빼기 : 9ms ArrayBlockingQueue - 넣기 : 32ms ArrayBlockingQueue - 빼기 : 22ms ArrayDeque - 넣기 : 17ms ArrayDeque - 빼기 : 5ms LinkedBlockingQueue - 넣기 : 47ms LinkedBlockingQueue - 빼기 : 32ms LinkedBlockingDeque - .. 2010. 11. 9.
Spring - iBATIS : 웹서버 시작시 jdbc.properties 를 읽지 못해도 무시하게 하자 웹서버를 포함한 솔루션 배포시에는 데이터베이스 연결 설정 파일을 포함시키기 어렵다. 사용자의 DB접속 환경이 어떨지 알 수 없기 때문이다. 그렇다고 서버 셋업시에 사람이 일일이 설정파일을 만지는게 하는것도 불안하다. 보통은 어플리케이션 설치시에 정보를 입력받아 속성파일로 써주거나, 웹사이트가 구동되고 나서 DB설정을 먼저 하도록 한다. 그런데 문제는 Spring 이 dataSource 객체를 생성하는 방식이다. applicationContext.xml 1: 3: 4: 5: 6: 7: 8: 9: 10: 11: Spring 은 이처럼 applicationContext.xml 파일로 properties 파일의 위치를 정의하고 dataSource bean에서 이를 참조하도록 해서 웹서버 시작시에 로딩한다. 그런.. 2010. 7. 14.
Spring - iBATIS : dataSource 의 동적 로딩 Spring – iBATIS 사용시 보통 WEB-INF/jdbc.properties 파일에 데이터베이스에 접속하기 위한 설정을 저장해 둔다. 데이터베이스 접속 환경이 변경되어 이 파일을 수정한후에는 웹서버를 재시작해줘야 변경된 설정이 반영된다만, 웹서버를 재시작하지 않고, 또 jsp 를 쓰지 않는 – flex & blazeds 만으로 구동되는 웹 – 환경에서 변경된 설정을 바로 반영 해줄 수 있는 방법이 필요해졌다. 방법을 요약하면, 스프링으로부터 WebApplicationContext를 받아와 dataSource bean 객체를 받아온 후 값을 변경해주면 된다. 예제는 아래.. applicationContext.xml 1: 동적로딩을 구현 할 클래스의 bean 설정에 autowire 를 true 로 설.. 2010. 7. 14.
자바 현재 경로 자바 프로그램을 작성중 웹으로부터 전달받은 임시파일을 데몬이 읽어 처리 하도록 해야 할 일이 생겼다. 임시파일의 적당한 위치를 찾기 위해 자바 어플리케이션상에서의 현재 경로가 어떻게 되는지 궁금해 다음 코드를 짜서 확인해보았다. 1: // Java Application 2: // d:\workspace\daemon\src\test.java 3: File file = new File(“.”); 4: System.out.println(file.getCanonicalPath()); // d:\workspace\daemon\ 5: 6: // Dynamic Web Project 7: // d:\workspace\web\webContent\test.jsp 8: // d:\apache-tomcat-6.0.14 9: .. 2010. 6. 25.