最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中String、StringBuffer和StringBuilder的區(qū)別

 更新時間:2024年01月09日 10:12:50   作者:玄月沐影  
這篇文章主要介紹了Java中String、StringBuffer和StringBuilder的區(qū)別,StringBuilder與StringBuffer都繼承自AbstractStringBuilder類,在AbstractStringBuilder中也是使用字符數(shù)組保存字符串char[]value但是沒有final關鍵字修飾,所以這兩個可變,需要的朋友可以參考下

String、StringBuffer和StringBuilder區(qū)別

在jdk源碼中

private final char value[];
  • final用來修飾一個類;此類不能被其他類所繼承。如String類、System類、StringBuffer類
  • final用來修飾方法;此方法不可以被重寫。如Object類中的getClass();
  • final用來修飾變量;此時的”變量“就稱位一個常量
    • 修飾屬性可以考慮賦值的位置:顯式初始化、代碼塊中初始化、構造器中初始化
    • final修飾局部變量:尤其是使用final修飾形參時,表明此形參是一個常量。當我們調用此方法時,給常量形參賦一個實參。一旦賦值以后,就只能在方法體內使用此形參,但不能進行重新賦值。
  • static final 用來修飾屬性:全局常量

StringBuilder與StringBuffer都繼承自AbstractStringBuilder類,在AbstractStringBuilder中也是使用字符數(shù)組保存字符串char[]value但是沒有final關鍵字修飾,所以這兩個可變。

完整源碼可自行查閱

abstract class AbstractStringBuilder implements Appendable, CharSequence {
    /**
     * The value is used for character storage.
     */
    char[] value;
 
    /**
     * The count is the number of characters used.
     */
    int count;
 
    /**
     * This no-arg constructor is necessary for serialization of subclasses.
     */
    AbstractStringBuilder() {
    }
 
    /**
     * Creates an AbstractStringBuilder of the specified capacity.
     */
    AbstractStringBuilder(int capacity) {
        value = new char[capacity];
    }

StringBuffer和StringBuild區(qū)別

線程安全

String 中的對象是不可變的,也就可以理解為常量,線程安全。AbstractStringBuilder 是 StringBuilder 與 StringBuffer 的公共?類,定義了?些字符串的基本操作,如 expandCapacity、 append、insert、indexOf 等公共?法。StringBuffer 對?法加了同步鎖或者對調?的?法加了同步 鎖,所以是線程安全的。StringBuilder 并沒有對?法進?加同步鎖,所以是?線程安全的。

性能

每次對 String 類型進?改變的時候,都會?成?個新的 String 對象,然后將指針指向新的 String 對象。StringBuffer 每次都會對 StringBuffer 對象本身進?操作,?不是?成新的對象并改變對象 引?。相同情況下使? StringBuilder 相?使? StringBuffer 僅能獲得 10%~15% 左右的性能提升, 但卻要冒多線程不安全的?險。

使用建議

操作少量的數(shù)據(jù): 適? String單線程操作字符串緩沖區(qū)下操作?量數(shù)據(jù): 適? StringBuilder多線程操作字符串緩沖區(qū)下操作?量數(shù)據(jù): 適? StringBuffer

到此這篇關于Java中String、StringBuffer和StringBuilder的區(qū)別的文章就介紹到這了,更多相關String、StringBuffer和StringBuilder區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • springboot 增加過濾器方法操作示例

    springboot 增加過濾器方法操作示例

    這篇文章主要介紹了springboot 增加過濾器方法操作,結合實例形式分析了springboot過濾器配置、加載等相關操作技巧,需要的朋友可以參考下
    2019-12-12
  • java字符串求并集的方法

    java字符串求并集的方法

    這篇文章主要介紹了java字符串求并集的方法,涉及Java字符串操作中union方法的使用,是Java字符串操作中非常實用的基本技巧,需要的朋友可以參考下
    2014-11-11
  • Mybatis-plus批量去重插入ON DUPLICATE key update使用方式

    Mybatis-plus批量去重插入ON DUPLICATE key update使用方式

    這篇文章主要介紹了Mybatis-plus批量去重插入ON DUPLICATE key update使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot整合flyway實現(xiàn)自動創(chuàng)建表的方法

    SpringBoot整合flyway實現(xiàn)自動創(chuàng)建表的方法

    這篇文章主要介紹了SpringBoot整合flyway實現(xiàn)自動創(chuàng)建表的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 一文弄懂Mybatis中介者模式

    一文弄懂Mybatis中介者模式

    本文主要介紹了一文弄懂Mybatis中介者模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • JAVA使用JDBC技術操作SqlServer數(shù)據(jù)庫實例代碼

    JAVA使用JDBC技術操作SqlServer數(shù)據(jù)庫實例代碼

    本篇文章主要介紹了JAVA使用JDBC技術操作SqlServer數(shù)據(jù)庫實例代碼,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • SpringBoot中使用Redis案例詳解

    SpringBoot中使用Redis案例詳解

    文章主要介紹了在SpringBoot項目中的基本配置和文件結構,通過引入案例給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-10-10
  • SpringBoot整合SpringCloud的過程詳解

    SpringBoot整合SpringCloud的過程詳解

    SpringCloud專注于為典型的用例和擴展機制提供良好的開箱即用體驗,在介紹SpringCloud默認使用的注冊中心前,先給大家介紹下分布式系統(tǒng)的三個指標,具體內容詳情跟隨小編一起看看吧
    2021-09-09
  • Spring實現(xiàn)定時任務的兩種方法詳解

    Spring實現(xiàn)定時任務的兩種方法詳解

    Spring提供了兩種方式實現(xiàn)定時任務,一種是注解,還有一種就是接口了,這篇文章主要為大家介紹了這兩種方法的具體實現(xiàn)方法,需要的可以參考下
    2024-12-12
  • Spring Cloud Netflix架構淺析(小結)

    Spring Cloud Netflix架構淺析(小結)

    這篇文章主要介紹了Spring Cloud Netflix架構淺析(小結),詳解的介紹了Spring Cloud Netflix的概念和組件等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

酒泉市| 双柏县| 威远县| 临洮县| 凉山| 崇阳县| 闻喜县| 女性| 云南省| 垫江县| 新蔡县| 古丈县| 吴堡县| 横山县| 黄梅县| 津市市| 修武县| 茌平县| 洪洞县| 望都县| 巍山| 凤凰县| 英超| 额尔古纳市| 崇礼县| 荔浦县| 烟台市| 静乐县| 长葛市| 富顺县| 佛坪县| 保亭| 连云港市| 太白县| 仪征市| 吴忠市| 桓台县| 汉寿县| 南澳县| 板桥市| 曲阜市|