> Java > Java시작하기 > String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론

String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론

青灯夜游
풀어 주다: 2019-11-27 17:15:54
앞으로
1826명이 탐색했습니다.

Java 개발 인터뷰에서 String, StringBuider, StringBuffer의 차이점에 대해 자주 질문을 받습니다. 많은 사람들이 포괄적이고 깊이 있는 답변을 제공하지 않는데, 이들의 차이점은 무엇인가요?

String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론

세 가지 모두 문자열에 대한 작업에 사용되는 반면, StringBuilder StringBuffer는 일반적으로 문자열에 대한 작업에 사용됩니다. 접합과 같은 작업. 그러나 실제로 String은 문자열을 연결하는 데에도 사용할 수 있지만 왜 우리는 이를 거의 사용하지 않습니까? 세 가지의 기본 코드부터 시작하겠습니다.

String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론

String의 기본 코드는 final로 수정된 char 배열입니다. 즉, String 변수를 정의한 후에는 변수의 내용을 변경할 수 없습니다. #🎜🎜 ##### 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜#StringBuilder 및 StringBuffer AbstractStringBuilder, 이 클래스의 문자 배열 final로 수정되지 않았으며 내용이 가변적이라는 것은 무엇을 의미합니까?

예: String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론

String s1= "a";
String s2 = new String("b") ;
String s3 = s1+s2;
로그인 후 복사

그렇다면 문자열 "ab"를 얻습니다. String 하단에 불변 문자열이 없기 때문에 세 개의 객체가 생성됩니다. 모두 메모리를 점유하고 있으며 이 세 개체는 참조를 잃지 않았으므로 jvm을 가비지 수집할 수 없으므로 메모리 리소스가 크게 낭비됩니다. 이는 개발에서는 권장되지 않지만 StringBuilder 및 StringBuffer에는 이러한 문제가 없습니다. 기본 코드를 통해 확인할 수 있습니다. StringBuilder와 StringBuffer가 문자열을 이어붙일 때 문자열 길이가 데이터를 캡슐화하기 위한 새 배열을 생성하기에 충분한지 확인하는 반면, 원래 개체는 참조를 포기하고 가비지 수집을 기다리므로 따라서 스플라이싱을 할 때 문자열이나 다른 작업을 수행할 때 일반적으로 StringBuilder와 StringBuffer를 사용하는데 둘의 실행 효율성이 더 높은 이유는 무엇입니까?

String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론

String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론

기본 소스 코드를 통해 StringBuffer가 문자열을 연결할 때 동기화 잠금을 사용하는 것을 확인할 수 있습니다. . 보안이 향상되고 StringBuilder는 동기화 잠금을 사용하지 않으므로 효율성이 향상됩니다.

이제 세 가지의 차이점을 이해하셔야 합니다! !

이 기사는

javaIntroductionString, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론 칼럼에서 가져온 것입니다. 학습에 오신 것을 환영합니다!

위 내용은 String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:源码时代
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿