string, stringbuffer 및 stringbuilder의 차이점은 무엇입니까?
편집자에게 StringBuilder가 스레드로부터 안전한지 물었더니 결과적으로 사람들이 나에게 질문했습니다. .개발 경력이 2년이신가요? 이 수업을 오랫동안 사용하지 않으면 선택을 잊어버리게 되므로 기초가 탄탄하지 않다고도 할 수 있습니다. 혹시 이런 경험을 하신 분이 있을지 모르겠지만, 기억력을 높이기 위해 글로 기록해 두는 것이 좋겠습니다.
String: String은 final로 수정되므로 해당 값이 변경되지 않는다는 것은 누구나 알고 있습니다. 이로 인해 String에 대해 작업이 수행될 때마다 새로운 String 객체가 생성됩니다. 이는 비효율적일 뿐만 아니라 많은 제한을 낭비합니다. 그림에 표시된 대로
초기 문자열 값이 "abc"임을 알 수 있으며 이 문자열 뒤에 새 문자열 "bv"를 추가합니다. 이 프로세스에서는 스택을 다시 열어야 합니다. 메모리 메모리 공간 측면에서 우리는 마침내 "abcbv" 문자열을 얻었고 그에 따라 메모리 공간을 열어야 했습니다. 이러한 두 개의 짧은 문자열의 경우 메모리 공간을 세 번 열어야 합니다. 메모리 공간 낭비. 자주 발생하는 문자열 관련 작업을 처리하기 위해 이러한 문자열 변경을 처리하기 위해 두 개의 새로운 클래스(StringBuffer 클래스 및 StringBuild 클래스)가 도입되었습니다.
StringBuilder 클래스: Java 5에서 제안되었으며 변경 가능한 문자열이 특징입니다. 높은 실행 효율성과 스레드가 안전하지 않습니다.
StringBuffer 클래스: 가변 문자열, 낮은 실행 효율성 및 스레드 안전성이 특징입니다.
시간이 더 빨라진 것을 볼 수 있어요.
요약:
소량의 데이터를 연산하려면 String을 사용하세요.
대량의 데이터를 연산하려면 StringBuffer를 사용하세요.
단일 스레드 연산 문자열 대용량 데이터를 연산하기 위한 버퍼 StringBuilder .
추천 튜토리얼: "java 튜토리얼"
위 내용은 문자열, 문자열 버퍼 및 문자열 빌더의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!