更新時間:2022-07-12 11:57:12 來源:動力節點 瀏覽1508次
優化 Java 代碼需要對其工作方式進行適當的分析。有幾個因素會影響性能優化,例如垃圾收集、操作系統設置和虛擬機。
我建議您從最小內存分配開始。然后,您可以根據程序要求逐漸增加它。您可以通過向 JVM 添加以下參數來指示 JVM 將堆轉儲到 OutOfMemoryError 異常中:
-XX:+HeapDumpOnOutOfMemoryError
正確利用可用內存是優化速度的好方法。
1GB 到 7GB 的堆大小足以開始使用。它應該取決于老一代與新一代對象的比率。
有幾個Java 性能工具,如 VisualVM、YourKit、Java Mission Control 等,您可以使用它們來跟蹤您的應用程序性能。
NetBeans 分析器也是一個不錯的選擇。NetBeans IDE支持開箱即用的所有 Java 應用程序類型 Java SE(包括 JavaFX)、Java ME、Web、EJB 和移動應用程序的開發。
下面的代碼可以方便地代替兩個單獨的代碼StringBuilder:
StringBuilder x = new StringBuilder ( "a" );
x。附加(參數。長度);
x。附加(“b”);
如果(參數。長度 == 1);
x。附加(參數[ 0 ]);
這使得任何修改都很容易,而不會給 GC 帶來額外的壓力。
如果我們使用如下代碼:
for(字符串 值:字符串){
// 在這里做一些有用的事情
}
然后每次我們運行這段代碼時,都會創建一個新的迭代器實例,它會消耗我們的大部分內存。
相反,建議使用以下代碼:
整數 大小 = 字符串。大?。ǎ?;
for ( int i = 0 ; i < 大小; i ++ ) {
字符串 值:字符串。得到( i );
// 在這里做一些有用的事情
}
或者,如果您的列表沒有真正改變,您甚至可以對它的數組版本進行操作:
對于(字符串 值:字符串數組){
// 在這里做一些有用的事情
}
編寫基于索引的迭代非常有用。
并發性是能夠彼此并行運行多個程序的能力。
對于處理多請求 Web 流,建議使用帶有分離實體的樂觀鎖定EXTENDEDPersistence Context或.
此外,必須了解關系數據庫管理系統 (RDBMS) 的內部工作原理和數據訪問框架,以提高數據訪問層的性能。
以上就是關于“5個Java技能優化技巧”的介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容細致全面,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習