陕西 网站建设,怎么制作图片表格,企业宣传网站案例,民制作网站价格简单的几句
String是final修饰的#xff0c;不可变#xff0c;每次操作都会产生新的对象。StringBuffer和StringBuilder都是在原对象上进行操作StringBuffer是线程安全的#xff0c;StringBuilder是线程不安全的。StringBuffer方法是被synchronized修饰的
所以在性能方面大…简单的几句
String是final修饰的不可变每次操作都会产生新的对象。StringBuffer和StringBuilder都是在原对象上进行操作StringBuffer是线程安全的StringBuilder是线程不安全的。StringBuffer方法是被synchronized修饰的
所以在性能方面大家应该明白是 StringBuilderStringBufferString Buffer上了锁锁是基于操作系统调度所以性能稍小于Builder
场景
经常需要改变字符串内容要使用哪个
优先使用StringBuilder多线程使用贡献变量的时候要使用StringBuffer要不然会出现读写异常(亲测在10个线程下使用共享变量不加锁就会导致读写异常)
反思
那么问题来了,既然String性能这么低为什么String不设计成不可变的呢可以参考一下这一篇博客。 https://blog.csdn.net/giaogege666/article/details/129395495