stringbuffer和stringbuilder和string的区别,string stringbuffer stringbuilder的区别

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: