In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-04-09 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/03 Report--
This article mainly talks about "what are the differences between StringBuffer and StringBuilder in Java". Interested friends may wish to have a look. The method introduced in this paper is simple, fast and practical. Now let the editor take you to learn "what are the differences between StringBuffer and StringBuilder in Java?"
Let's first look at the class structure of StringBuffer and StringBuilder:
In fact, it is very simple to inherit an abstract string parent class: AbstractStringBuilder. Let's take a look at their three differences.
Difference 1: thread safety
StringBuffer: thread safe, StringBuilder: thread unsafe. Because all exposed methods of StringBuffer are synchronized-decorated, while StringBuilder is not StringBuilder-decorated.
StringBuffer code snippet:
@ Override public synchronized StringBuffer append (String str) {toStringCache = null; super.append (str); return this;}
Difference 2: buffer
StringBuffer code snippet:
Private transient char [] toStringCache; @ Override public synchronized String toString () {if (toStringCache = = null) {toStringCache = Arrays.copyOfRange (value, 0, count);} return new String (toStringCache, true);}
StringBuilder code snippet:
@ Override public String toString () {/ / Create a copy, don't share the array return new String (value, 0, count);}
As you can see, every time StringBuffer fetches toString, it directly uses the toStringCache value of the cache to construct a string.
StringBuilder, on the other hand, needs to copy the character array and construct a string each time.
So, cache flushing is also an optimization of StringBuffer, but the toString method of StringBuffer is still synchronous.
Difference 3: performanc
Since StringBuffer is thread-safe, all its exposed methods are synchronized, and StringBuilder does not synchronize methods, there is no doubt that StringBuilder performs much better than StringBuffer.
Summary
Therefore, StringBuffer is suitable for scenarios where multithreading is used to operate the same StringBuffer, and StringBuilder is more suitable for single-thread scenarios.
At this point, I believe you have a deeper understanding of "what is the difference between StringBuffer and StringBuilder in Java". You might as well do it in practice. Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.