.주제별/Java(19)
-
Java) Sublist , Not-serializable
자바 프로그램의 상태를 저장할때, 일반 텍스트 파일로 저장할 수도 있고, 직렬화를 통해서 저장할 수도 있다. 직렬화를 하려면, Class에서 "implements Serializable"을 통해서 인터페이스를 구현해야 한다. 또, 직렬화를 하면, 이 객체와 관련된 것이 모두 직렬화(자동) 되어서 저장이 된다. 하지만, 직렬화 되지 않는 경우가 있다. 예를들어, Collection 클래스에서 'sublist'라는 메서드를 사용하는 경우 sublist 는 'java.util.RandomAccessSubList'의 instance를 리턴하게 되는데, 이는 직렬화가 안된다. 이런 경우, ArrayLIst와 같은 'Serializable List'에 그 내용을 담아야 한다. 다음은 직렬화 되지 않는 경우 Coll..
2008.06.16 -
Java) Matrix Package (Jama, Colt, MTJ)
Java 에서 SVD 계산하는 일이 있어서, 관련 Package 를 찾아봤는데, 제목에 있는 3개가 유명하다는 것을 알았다. 1. Jama JAMA 링크 Dense Matrix을 다루는데 있어서 작고 가볍다. LNPACK , EISPACK 에 적용된 알고리즘과 같은 알고리즘을 사용한다. 2. Colt COLT 링크 Jama 보다 조금 높은 성능을 보인다 하는데, (테스트 결과로는 별 차이 없다) 다양한 Matrix Algorithm을 보여주고 있다. 3. MTJ MJT 링크 Jama 보다 더 많은 Matrix Type을 포함하고 있고, Colt 보다 조금더 최적화된 Sparse matrix을 다룰 수 있다 한다. * 위 3개의 Library을 통해서 MxN Matrix에 대한 SVD 을 구해보았다. M,..
2008.06.13 -
Java) Exception 요약
참고 : http://benelog.egloos.com/1901121 http://crosscutter.info/56 http://crosscutter.info/63 1. Exception 사용 예제 1) 예외를 던지는 위험한 코드 코드에서 예외를 던진다면, 반드시 메소드를 선언하는 부분에서 throws 키워드를 써서 선언해줘야한다. public void takeRisk() throws BadException { if(abandonAllHope) { throw new BadException(); } } exception를 선언하는 과정을 통해, BadException을 던질 수 있다는 것을 외부에 알린다. 2) 위험한 메소드를 호출하는 코드 예외를 던지는 메소드를 호출하면, 예외발생 가능성이 있음을 알고..
2008.06.10 -
Java) 정렬, Collections 사용
Java에서 정렬을 하려면, TreeSet을 이용하는 방법이 있다. 또 다른 방법으로는, Collections 클래스를 활용하는 방법이 있다. Song 클래스를 다음과 같이 정의하자 public class Song { private String title; private String author; private int rank; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } pub..
2008.06.02 -
iBATIS) count함수을 통해서 int형을 받아오다가..
****문제 : iBATIS 에서 count() 을 통해서 int 형을 받아오려 함. ### SQL Map 파일은 다음과 같다. .... select count(VALUE) as VALUES ... ### 이를 받아와서 처리한 DAO 단 List list = getSqlMapClientTemplate().queryForList("Statement.statement01", map); Iterator iter = rList.iterator(); while(iter.hasNext()){ HashMap map = (HashMap)iter.next(); int value = ((Integer)map.get("value")).intValue();
2008.04.08 -
iBATIS) queryForMap, queryForList 사용하기
TABLE "table01" ACCOUNTID GROUPID samsik01 group01 samsik02 group02 samsik03 group03 1. queryForMap 의 경우 Map map = getSqlMapClientTemplate().queryForMap("Statement.state01", map, "accountId"); map : Parameter 로 map을 사용하기로 함 2. qeuryForList 의 경우 List list = getSqlMapClientTemplate().queryForList("Statement.state01", map); SQL Map을 어떻게 구성하냐에 따라 여러가지로 사용할수가 있는데 select * from TABLE01 where /* 여기는 pr..
2008.04.07