stringbuffer和stringbuilder和string的区别,string stringbuffer stringbuilder的区别
如何解决写爬虫IP受阻的问题?立即使用。
string,stringbuffer以及stringbuilder的区别?
在一次电话采访中,边肖被问及StringBuilder是否是线程安全的,脱口而出是安全的。结果人家质疑我你有2年开发经验吗?很久没用这个课了,导致我对性别的选择都忘了。也可以说是基础不牢固。不知道大家有没有过这样的经历,还是写下来比较好,可以增加我的记忆力。
String:大家都知道String是用final修饰的,所以它的值是不可变的,这就导致每次操作String都会生成一个新的String对象。这样不仅效率低,还浪费了大量有限的内存空间,如图:
我们可以看到,最初的字符串值是“abc”,然后在这个字符串之后添加了一个新的字符串“bv”。在这个过程中,需要再次打开堆栈内存中的内存空间,最后“abcbv”字符串需要相应地打开内存空间,这样只有两个短字符串需要三次打开内存空间。不得不说,这是对内存空间的极大浪费。为了处理频繁的字符串相关操作,引入了两个新的类——StringBuffer和StringBuild来处理这种变化的字符串。
StringBuilder类:在Java 5中提出,特点是可变字符串。高执行效率和不安全线程。
StringBuffer类:特点是字符串可变,执行效率低,线程安全。
可见时间更快了。
总结:
如果要操作少量数据,使用String;
在多线程stringbuffer区操作大量数据string buffer;
单线程操作StringBuilder在stringbuffer区域操作大量数据。
推荐教程:以上《java教程》是string、stringbuffer、stringbuilder区别的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。