250x250
반응형
arkhyeon
arkhyeon
arkhyeon
전체 방문자
오늘
어제
  • 분류 전체보기 (88)
    • Spring (5)
    • Java (4)
    • React (25)
      • TypeScript (6)
      • JavaScript (1)
      • Jest (9)
    • NEXT (8)
    • SQL (1)
    • React native (1)
    • CSS (3)
    • Web (1)
    • Git (3)
    • ETC (6)
    • 빅데이터DB (8)
    • Docker (4)
    • Tool (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • node WebSocket
  • react websocket
  • javascript wss
  • react typescript
  • react
  • kudu
  • react19
  • react spring websocket
  • react jest
  • HIVE
  • react loading
  • jest
  • WSS
  • usetransition
  • websocket server
  • Spring WebSocket
  • docker tomcat
  • javasciprt websocket
  • websocket
  • react usetransition

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
arkhyeon

arkhyeon

Java

String, StringBuffer, StringBuilder

2022. 5. 26. 23:00
728x90
반응형
 성능 우선
 StringBuilder  >  StringBuffer  >>>  String 

 1. 단순 조회 : String
 2. Multi Thread : StringBuffer(안전) + 잦은 수정
 3. Single Thread : StringBuilder(빠름) + 잦은 수정
  1. String
    [단점]
    - 객체 내부 데이터 수정 불가능으로 새로운 객체를 생성
    > 수정을 거듭할수록 객체 수 증가로 인한 성능 저하 야기
    [장점]
    - Buffer, Builder 보다 초기 리소스 적으며 크기 고정으로 단순 조회 연산이 빠르다.
    - 불변성을 가지기 때문에 Multi Thread 환경에서 안전(StringBuffer와 동일)
  2. StringBuffer
    - 동기화 지원으로 Multi Thread 환경에서 안전
    - ConcurrentModificationException 방지
    (Multi Thread 환경 다른 Thread가 순회하는 객체를 수정)
  3. StringBuilder
    - 동기화 미지원으로 Multi Thread 비적합
    - 동기화 고려하지 않는 만큼 Single Thread에서의 성능은 StringBuffer보다 좋다
  4. Multi Thread / Single Thread
    - 나머지는 for문 만번 돌려보자
 //Multi Thread 환경
 public class Test{
    StringBuffer b;

    public Test(){
        b = new StringBuffer();
    }

    public String someMethod(){
        b.append("Some Method");
        return(b.toString());
    }
}

[StringBuffer and Multithreading]

[java.lang Class StringBuffer OverView]

728x90
반응형

'Java' 카테고리의 다른 글

로그 쿼리 확인(log4j/logback)  (0) 2022.12.27
Java Thread (예제 newSingleThreadScheduledExecutor)  (0) 2022.06.15
Runnable JAR Export + Window Scheduler  (0) 2022.05.31
    'Java' 카테고리의 다른 글
    • 로그 쿼리 확인(log4j/logback)
    • Java Thread (예제 newSingleThreadScheduledExecutor)
    • Runnable JAR Export + Window Scheduler
    arkhyeon
    arkhyeon

    티스토리툴바