- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、String,StringBuffer, StringBuilder 的
区别是什么?
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于
String 是不可变的对象 , 因此在每次对 String 类型进行改变的时候其
实都等同于生成了一个新的 String 对象,然后将指针指向新的 String
对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成
对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,
JVM 的 GC 就会开始工作,那速度是一定会相当慢的。
而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对
StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引
用。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对
象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼
接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候
String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字
符串对象生成中, String 效率是远要比 StringBuffer 快的:
String S1 = “This is only a ” + “ simple ” + “ test ”;
StringBuffer Sb = new StringBuilder( “This is only
a”).append( “ simple ”).append( “ test ”);
你会很惊讶的发现,生成 String S1 对象的速度简直太快了,而这个
时候 StringBuffer 居然速度上根本一点都不占优势。其实这是 JVM
的一个把戏,在 JVM 眼里,这个
String S1 = “This is only a ” + “ simple其实就是:” + “test ”;
String S1 = “This is only a simple test 所以当然不需要太多的时间”;
了。但大家这里要注意的是,如果你的字符串是来自另外的 String 对
象的话,速度就没那么快了,譬如:
String S2 = “Thisis only a ”;
String S3 = “ simple ”;
String S4 = “ test ”;
String S1 = S2 +S3 + S4;
这时候 JVM 会规规矩矩的按照原来的方式去做
在大部分情况下 StringBuffer String
StringBuffer
Java.lang.StringBuffer 线程安全的可变字符序列。一个类似于 String
的字符串缓冲区, 但不能修改。虽然在任意时间点上它都包含某种特定
的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。 可以在必要时对这些方法进行
同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该
顺序与所涉及的每个线程进行的方法调用顺
您可能关注的文档
- 四六级和考研英语怎样准备归类.pdf
- 四期输煤火灾报警系统检修方案参考.pdf
- 泗阳县中医院文明优质服务大提升实施方案定义.pdf
- 送给基础考生的建议文.pdf
- 搜索技巧教案借鉴.pdf
- 苏霍姆林斯基的名言归类.pdf
- 苏霍姆林斯基给教师的建议参考.pdf
- 苏教版小升初语文考试模拟试题文.pdf
- 苏科版数学九年级下册5.3《用待定系数法确定二次函数表达式》word教案定义.pdf
- 苏科版信息技术五上第6课《画星星》word教案参照.pdf
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
最近下载
- 九剑2015v磁电科技总裁.pdf VIP
- 开放大学(电大)2018年01月《供应链管理》期末试卷及答案(代号:2302).pdf VIP
- 四大名著西游记名著导读读书分享PPT模板.pptx VIP
- (完整版)基础考试薄膜光学与技术题库完整版附答案.docx VIP
- 新能源汽车电驱动实验要求DVP.pdf VIP
- 第17课第二次世界大战与战后国际秩序的形成高中历史统编版(2019)中外历史纲要下册.pptx VIP
- 2022-2023学年湖北省武汉市江岸区八年级上学期期末数学试卷及参考答案.docx VIP
- 供应链管理期末试卷.pdf VIP
- 2023-2024学年广东省广州市白云区九年级(上)期末数学试卷(含答案).docx VIP
- 图集:12J003 室外工程.docx VIP
原创力文档


文档评论(0)