본문 바로가기

JAVA79

[ JAVA ] Property 파일 변경 된 사항 실시간 적용 되도록 하는 법 어플리케이션을 작성할 때 property 파일만 수정하고 어플리케이션을 재시작 하지 않고 해당 사항이 반영 되길 원하는 경우가 있다. 최대한 부하가 생기지 않고 이런 일을 처리 할 수 있는 로직을 아래와 같이 작성해 본다. ================================= package com.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public class PropertyUtil { private static PropertyUtil propertyUtil = ne.. 2013. 5. 19.
[ JAVA ] 동적으로 class , method 실행 시킬 수 있는 reflection 사용법 String 문자열 형태로 class 나 method 를 불러서 쓸 수 있다면 참 좋을 것이다. 예를 들어 MyClass 라는 class 가 지금 당장 사용되어야 하는데 이게 상황에 변화에 따라 내일은 YourClass 라는 클래스로 변경되어야 한다고 한다면 새로 프로그램을 수정하고 compile 해서 반영하고 해야 할 텐데 class 이름을 text 파일에서 String 형태로 읽어와서 동적으로 클래스가 변경 될 수 있다면 새로 작업을 하지 않아도 될 것이다. 이런 작업을 가능하게 해 주고 우리가 잘 사용하는 spring framework 의 큰 축이 되는 부분이 바로 reflection 이다. 사용법은 아래와 같이 정리 한다. package com.test; import java.lang.reflec.. 2013. 5. 19.
[ JAVA ] 자주 쓰는 Collection API 정리 자주 쓰는 Collection class 는 3개가 있는데 1. ArrayList 2. Vector 3. LinkedList 이다. 이 3개는 나름대로 각기의 특징이 있는데 첫번째인 ArrayList 의 경우 List 가 쌓여 있는데 중간의 Object를 수정, 삭제 하는 속도가 가장 빠르다고 한다. 그리고 thread 에 safe 하지 않다. (이것이 Vector보다 빠른 가장 중요한 이유라고 한다.) 물론 ArrayList를 thread safe 하게 해 주는 방법은 api 문서에 아래와 같이 나와 있다. List list = Collections.synchronizedList(new ArrayList(...)); 이렇게 해서 쓰는 것과 Vector 간의 성능 테스트를 좀 해봐야 할 것 같은데 그건 .. 2013. 5. 19.
[ JAVA ] System.getProperty("file.encoding") 변경 방법 java 에서 System.getProperty("file.encoding") 변경 방법 (JVM 의 환경) java -Dfile.encoding=UTF-8 과 같이 자바 실행 시 옵션을 주시면 해당 인코딩으로 동작이 됩니다. 2013. 3. 12.