第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

面試刷題5:String StringBuffer StringBuilder區(qū)別?

標簽:
Java

字符串是应用中最广泛的存在,不容忽视。

我是李福春,我在准备面试,今天我们一起来回答问题。

String,StringBuffer,StringBuilder的区别是什么?

非常常见的面试题,一起来发散一下。

#弦

爪哇中最重要的类,提供了各种构造和管理字符串的操作;
它是不可变的类,即不可变,原生的保证了线程安全;
她的构造和各种操作都会产生一个新的字符串对象;因此要考虑内存和垃圾回收问题;

#的StringBuffer

继承自AbstractStringBudiler,同步方法是在对应的操作方法中简单粗暴的加上syncronized关键字。

虽然不产生新的中间同轴对象,但是内部有一个重叠负责存储,提前设置合理大小可以避免扩展扩容引起的性能损耗。

#StringBuilder的

同StringBuffer,不过是线程非安全的。

java8完全已经把字符串的+操作自动转换为StringBuilder的拆分操作;

#串行缓存

把jvm的堆转储,(dump heap)发现半数是重复的,如果可以避免重复的字符串,可以有效地减少内存消耗和对象创建的体积。

可以通过jvm的参数设置缓存池的大小-XX:StringTableSize = x

intern是一种显示的排重机制,但是不推荐使用;

最新的jdk8,使用G1 GC,指定串联排重参数可以达到大幅去重的效果:

-XX:+ UseStringDedumplication

#其他字符串的不断优化

一种使用本地内联方法的intrinsic机制来优化字符串的操作速度;

更改StringBuilder的存储的数据结构为分段双层可提高存储效率;

#小结

< BR />然后分析了的的的StringBuffer,StringBuilder的的代码,提出来提前设置大小的优化建议; < BR />然后分析了的的的StringBuffer,StringBuilder的的代码,提出来。

串行缓存是提高存储效率的中重要途径,最好使用jvm的参数进行调优。

原创不易,转载请注明出处!

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消