달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
반응형

String객체에 연산을 하게되면 기존 String 객체에 크기가 늘어나는 것이 아니라

새로운 객체를 만들어 연산한 값을 넣는 방식입니다. 이는 연산 과정이 많을 수록 Heap 메모리 부하를 가져오죠.

이를 해결하기 위해 StringBuilder와 StringBuffer를 사용하게 됩니다. 이 둘은 연산 시 객체의 크기를 유동적으로 변경하기 때문에 String 연산의 단점을 해결했습니다. (객체의 크기가 늘어날 때는 기존크기*2)

StringBuilder와 StringBuffer의 차이는 동기화에 있습니다. StringBuffer는 동기화를 제공하는 대신 StringBuilder 보다는 속도가 느리죠. 스레드와 관련이 있다면 StringBuffer를, 없다면 StringBuilder를 사용하는 것을 권장 합니다. 

 

단순 성능 : StringBuilder > StringBuffer >>> String



출처: https://aljjabaegi.tistory.com/388?category=580127 [알짜배기 프로그래머]

반응형
Posted by 친절한 웬디양~ㅎㅎ
|