read

Java로 개발을 할 때 참고할만한 Tip들.

공유하고 싶은 Tip들에 대해서 정리합니다. 계속 업데이트 됩니다.

Guava로 간단히 Cache 하기

private LoadingCache<Key,Value> CACHE = CacheBuilder.newBuilder().maximumSize(/*캐싱될_아이템_수*/size).expireAfterAccess(/*캐싱할_시간*/minute, TimeUnit.MINUTES).build( 
    new CacheLoader<Key, Value>() { 
        public String load(Key key) { 
            return /*캐싱된_값을_리턴하는*/method(key); 
        } 
    });   
CACHE.getUnchecked(key); 

String 변환의 세가지 방법

  • toString() 은 변환할 객체가 null일 경우 Null Pointer Exception이 발생한다.
  • (String)으로 캐스팅할 경우, 변환할 객체가 null일 경우 그대로 null을 반환한다.
  • String.valueOf()는 변환할 객체의 .toString()결과를 그대로 반환해 준다고 한다. (toString()과 같음.)

더 찾아보니(String)으로 캐스팅 하는 것은 이 객체가 String이라는 것을 컴파일러에게 명시해주는 것이기 때문에 코드상의 낭비가 줄어든다고 한다. (String이 아닌 객체가 넘어갈 경우에는 문제가 생기겠지만.)

JAVA로 코딩하면서 형 변환을 할 때 캐스팅 보다는 .toSomeObject() 메소드를 통해서 다른 객체들로 변환하는 것을 선호했는데, NPE 문제도 있고 코드상으로도 더 경제적이라고 하니 해당 객체의 형이 명확하다면 캐스팅을 사용하는 편이 좋을 듯.

참고 : http://www.okjsp.pe.kr/seq/71363

ArrayList VS LinkedList

ArrayList

  • 데이터의 참조가 용이해서 빠른 참조가 가능하다. (장점)
  • 저장소의 용량을 늘리는 과정에서 많은 시간 소요된다. (단점)
  • 데이터의 삭제에 필요한 연산과정이 매우 길다. (단점)

LinkedList

  • 저장소의 용량을 늘리는 과정이 간단하다. (장점)
  • 데이터의 삭제가 매우 간단하다. (장점)
  • 데이터의 참조가 다소 불편하다. (단점)

Generic의 특성

  • 컴파일 타임에 타입 체킹이 가능하다

Eclipse SVN Plugin 설치시 Connector가 설치 되지 않을 때

에서 Connector를 수동으로 설치한다

Blog Logo

Minkyu Cho


Published

Image

Pitzcarraldo's Devlog

Monologue About The Development

Back to Overview