개발 정보/JAVA

String 클래스와 StringBuffer 클래스

광천스러움 2017. 8. 8. 03:26

1. 속도 차이

  1. String 클래스의 +연산자는 속도가 매우 느리다. 
  2. 나의 테스트에 의하면, 500kb 용량의 만줄 정도 되는 데이터를 가져올 때, 약 3~4초 정도 걸렸다.
  3. StringBuffer 클래스의 append는 속도가 매우 빠르다.
  4. String의 +연산자로 20분 걸리던게, StringBuffer로는 2초도 안걸렸다 ;

* 출처 : deblan2님의 블로그. 아주 자세하게 그래프까지 그려서 속도 측정 실험을 하셨다. 엄청난 도움이 됐다. 감사합니다 deblan2님!


* 자바 소스 예제 : 특정 파일의 내용을 가져오기


* 데이터 1만



* 데이터 5천


* 데이터 2500



2. 메모리 점유

  1. String 클래스의 +연산자는 StringBuffer 클래스 보다 메모리를 덜 차지한다.
  2. 따라서 간단하게 사용하는 경우는 String이 좋고, 몇천개/몇만개 이상이 되는 경우는 StringBuffer를 사용하는게 좋겠다.

* 출처 : bestheroz님의 블로그. 그림으로 설명되어 있다.