首页 > 编程语言 > 详细

Java String、StringBuilder、StringBuffer[笔记]

时间:2018-04-25 22:49:24      阅读:173      评论:0      收藏:0      [点我收藏+]

String对象是字符串常量(创建之后不可更改),StringBuilder和StringBuffer对象是字符串变量(可更改),三者主要区别在于执行速度和线程安全。

执行速度

执行速度:StringBuilder > StringBuffer > String

原因:

String对象的更改会不断创建和回收String对象,而StringBuilder、StringBuffer不会。

例如:

String str = “123";
System.out.println(str);
str = str + "456";
System.out.println(str);

JVM是处理这四行代码过程:

1、创建一个String对象,赋值为”123”。

2、打印字符串。

3、创建一个新的String对象,将第1个对象的值加上”456”后赋值给它,并GC(垃圾回收机制)回收掉第一个对象。

4、打印新字符串。

线程安全

StringBuilder:非线程安全的。

StringBuffer:线程安全的(同步机制保障)。

使用场景

String:少量的字符串操作。

StringBuilder:单线程大量字符串操作。

StringBuffer:多线程大量字符串操作。 

Java String、StringBuilder、StringBuffer[笔记]

原文:https://www.cnblogs.com/lovesong/p/8947314.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!