Java程序優(yōu)化

1、字符串優(yōu)化處理

在Java中,對(duì)字符串做了大量的優(yōu)化處理

  • 1、不變性

當(dāng)一個(gè)對(duì)象被多個(gè)線程共享,不變性可以省略同步和鎖等待的時(shí)間

  • 2、針對(duì)常量池的優(yōu)化

當(dāng)兩個(gè)string對(duì)象擁有相同的值時(shí),他們引用常量池中的同一個(gè)拷貝

package XingNeng;

/**
 * Created by haicheng.lhc on 21/05/2017.
 *
 * @author haicheng.lhc
 * @date 2017/05/21
 */
public class StringTest {
    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";
        String str3 = new String("abc");
        System.out.println(str1 == str2);
        System.out.println(str1 == str3);
        System.out.println(str1 == str2.intern());

    }
}

輸出結(jié)果為:

  • 3、類的final定義

提供系統(tǒng)的效率

核心數(shù)據(jù)結(jié)構(gòu)

List

數(shù)據(jù)結(jié)構(gòu)名 實(shí)現(xiàn) 插入 刪除 遍歷查找 是否線程安全 備注
ArrayList 數(shù)組 增加到尾端性能好,到任意位置性能差 性能差 性能好 不安全 當(dāng)需要擴(kuò)容的時(shí)候會(huì)影響性能
LinkedList 雙向循環(huán)鏈表 增加到任意位置有優(yōu)勢 性能好 性能差 每次需要新建Entry

Map

Set

使用NIO提升系統(tǒng)性能

引用類型

可以參考這篇文章:強(qiáng)引用、弱引用、軟引用、虛引用

有助于改善性能的技巧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容