日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java程序优化快捷键_Java 代码中针对性能优化的总结方案

發布時間:2025/3/15 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java程序优化快捷键_Java 代码中针对性能优化的总结方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在一個好的項目中代碼優化是永遠離不開的話題,如果有充足的時間開發和維護代碼,必須考慮每個可以優化的細節,日積月累,項目的質量才會上升,代碼優化是絕對有必要的工作。代碼優化的主要目的是減少代碼塊,提升代碼運行效率。

1.采用懶加載策略,在需要時Create,代碼如下:String?yd?=?“www.yoodb.com”;

List?list?=?new?ArrayList<>();

if(true){

list.add(yd);

}

替換為

if(true){

String?yd?=?“www.yoodb.com”;

List?list?=?new?ArrayList<>();

list.add(yd);

}

2.使用數據庫連接池和線程池

兩者都是重用對象的,連接池可以避免頻繁打開或關閉連接,線程池可以避免頻繁創建或銷毀線程。

3.使用位移替換乘除法for(int?i=1;i<100;i++){

int?a?=?i?*?8;

int?b?=?i?/?2;

Sysout.out.println(a?+?“-----”?+?b);

}

替換為

for(int?i=1;i<100;i++){

int?a?=?i?<

int?b?=?i?>>?1;

Sysout.out.println(a?+?“-----”?+?b);

}

位移操作方便快捷,可以極大的提高性能

4.循環內避免不斷的創建對象for(int?i=1;i<100;i++){

Object?ob?=?new?Object();

}

替換為

Object?ob?=?null;

for(int?i=1;i<100;i++){

ob?=?new?Object();

}

替換之后內存中只有一個Object對象引用,從而執行不同的Object對象,其實內存中只有一個,節省了內存消耗。

5.慎用異常

1)拋出異常首先創建一個新的對象,Throwable接口調用fillInStackTrace()的本地同步方法,檢查堆棧收集調用跟蹤信息。只要異常被拋出,Java虛擬機就會調用堆棧,異常適用于處理錯誤,不適用于控制程序流程。

2)避免在循環中使用try{….}catch(Exception e){}處理異常,盡量在循環外處理

6.I/O流

Java對數據庫進行連接或讀取文件時,操作I/O流在使用完之后一定要及時關閉以釋放資源

7.減少對變量的重復計算for(int?i=1;i

}

替換為

for(int?i=1,length?=?list.size();i

}

8.static final常量聲明,并以大寫命名

編譯時放入常量池中,從而避免在運行程序時再計算生成常量的值,以大寫命名方便區分常量與變量,習慣寫法。

9.避免創建不使用的對象或導入的類

在導入類時有個黃色小燈泡顯示“The value of the local variable i is not used”,此時的類是沒有用的建議刪除掉,刪除所有引入但是沒有使用的類快捷鍵 Shift+Ctril+O

10.參數判斷,”if (ia== 1){…}”和”if (1== a){…}”是沒有區別的,個人習慣建議使用if(a==1){…}

11. 使用帶緩沖的輸入輸出流進行IO操作

帶緩沖的I/O流為BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream,可以極大地提升IO效率

12. 單例模式優缺點以及在合理的場合使用單例模式

【優點】

1)實例控制

單例模式會阻止其他對象實例化其自己的單例對象的副本,從而確保所有對象都訪問唯一實例。

2)靈活性

因為類控制了實例化過程,所以類可以靈活更改實例化過程。

【缺點】

1)開銷

雖然數量很少,但如果每次對象請求引用時都要檢查是否存在類的實例,將仍然需要一些開銷??梢酝ㄟ^使用靜態初始化解決此問題。

2)可能的開發混淆

使用單例對象(尤其在類庫中定義的對象)時,開發人員必須記住自己不能使用new關鍵字實例化對象。因為可能無法訪問庫源代碼,因此應用程序開發人員可能會意外發現自己無法直接實例化此類。

3)對象生存期

不能解決刪除單個對象的問題。在提供內存管理的語言中(例如基于.NET Framework的語言),只有單例類能夠導致實例被取消分配,因為它包含對該實例的私有引用。在某些語言中(如 C++),其他類可以刪除對象實例,但這樣會導致單例類中出現懸浮引用。

使用場合情況:

1)限制創建示例(讀取配置文件),節約資源

2)限制資源使用情況,通過線程同步來控制資源的并發訪問

3)限制共享數據,在未建立直接關聯的條件下讓多個不相關的進程或線程之間實現通信

總結

以上是生活随笔為你收集整理的java程序优化快捷键_Java 代码中针对性能优化的总结方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。