前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java面试知识点

Java面试知识点

作者头像
一头小山猪
发布2020-06-16 15:02:08
3010
发布2020-06-16 15:02:08
举报
文章被收录于专栏:微光点亮星辰微光点亮星辰

stringbuffer与stringbuilder

1、相同点:

StringBuffer与StringBuilder,它们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String是创建一些对象进行操作,所以速度比String要快的多,而且不会造出太多的垃圾串。同时,它们的方法几乎相同。

2、不同点:

(1)执行速度方面:

StringBuilder > StringBuffer

(2)线程安全方面:

StringBuilder:线程非安全的

StringBuffer:线程安全的

当我们在字符串缓冲区被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但却可以保证StringBuffer是可以正确操作的。

当然,大多数情况下我们都是在单线程下进行操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,因为单线程下StringBuilder速度快。

3、总结:

单线程操作字符串缓冲区下大量数据用StringBuilde,速度快;

多线程操作字符串缓冲区下大量数据用StringBuffer,安全。

4、常用方法:

append 添加;

Insert 插入;

reverse() 翻转;

toString() 返回字符串

--------------------------------------------------------------------------------------------------------------

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微光点亮星辰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档