본문 바로가기

IT/Java17

누가 내 클래스패스에 QTJava를 둔거야? iOS7 베타를 깔기위해 오랜만에 iTunes를 켰다가 들뜬맘에 얼떨결에 퀵타임을 설치해버렸다. 이미 설치한거 지우기도 귀찮아서 내버려뒀는데, PC 재부팅후 이클립스를 실행하니 멀쩡하던 프로젝트가 에러를 뿜어내고 있는 것 아닌가? "QTJava? 뭐 이런 퀵타임스런 이름이 jre 에 있지???"했는데 진짜 퀵타임이 설치한 라이브러리임.. OMG! 근데 에러가 난 이유는 실제론 QTJava.zip 이 저기 나온 경로엔 없고 퀵타임 설치경로에 있기 때문이다. 다만, 퀵타임이 클래스패스까지 손을 대는 바람에... 결국 저런 참사가 벌어진 것이다. 맘대로 클래스패스 수정 할거면 제대로나 하지! 아무튼 구글링 좀 해봤더니... QTJava.zip 을 해당 경로에 둬라클래스패스에서 지워라하하!! 초짜 자바 프로그래.. 2013. 6. 12.
Reflection - 메서드 호출 성능 리플렉션을 이용하면 다른 클래스의 메서드 불러(invoke) 볼 수 있습니다. iBatis 로 데이터베이스에서 조회한 결과를 객체에 맵핑 할 때, 담을 객체만 정의해줘도 같은 필드명을 가진 속성에 들어가는 것도 이 방법을 이용한 것 입니다.(속도 문제로 현재는 다른 방법을 쓴다네요.) 일반적인 자바 프로그래밍이 할 수 없는 것을 할 수 있게 해주는 리플렉션이지만 흔히 성능이 나쁘다고 알려져있어 도대체 얼마나 느린지 테스트를 해봤습니다. 추가로 리플렉션 성능을 향상시키기 위해 동적으로 생성한 바이트코드를 사용하는 ReflectASM 와도 비교해 봤습니다. 1. 결과 리플렉션 함부로 쓰면 큰일나겠네요! (이미지를 클릭하면 500M 까지의 테스트 결과를 더 볼 수 있습니다.) 2. 테스트 코드 2013. 5. 3.
Java 에서 엑셀 파일 읽기 : POI 와 JXL(JExcel API) 자바에서 엑셀파일을 읽는데 POI와 JXL중 어느것이 더 성능이 나을까? 테스트를 위해 Excel 2010에서 sheet 1에 A열부터 Z열까지 각 셀에 다양한 언어로 10~30글자씩 입력하고 65,536행을 모두 같은 내용으로 채워 test.xls 로 저장했다. 테스트코드 및 결과는 다음과 같다. 테스트코드 import java.io.File; import java.io.FileInputStream; import java.util.HashMap; import java.util.Map; import jxl.Sheet; import jxl.Workbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermode.. 2011. 12. 29.
Java 에서 엑셀 파일 쓰기 : POI 와 JXL(JExcel API) 자바에서 엑셀파일을 쓰는데 POI와 JXL중 어느것이 더 성능이 나을까? 테스트코드 및 결과는 다음과 같다. 테스트코드 import java.io.File; import java.io.FileOutputStream; import jxl.write.Number; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import .. 2011. 12. 29.