9 個(gè) Java 性能調(diào)優(yōu)技巧,YYDS!
閱讀本文大概需要 6 分鐘。
來自:dzone.com/articles/11-simple-java-performance-tuning-tips
1. 在明確必要之前別急著優(yōu)化
2. 使用分析器找到真正的瓶頸
查看你的代碼,從看起來可疑的或者你覺得可能會(huì)導(dǎo)致出現(xiàn)問題的地方入手。 或者使用分析器獲取代碼每個(gè)部分的行為(執(zhí)行過程)和性能的詳細(xì)信息。
3. 為整個(gè)應(yīng)用程序創(chuàng)建一個(gè)性能測(cè)試套件
4. 優(yōu)先關(guān)注最大瓶頸
5. 使用 StringBuilder 以編程方式連接字符串
for循環(huán)中,則應(yīng)使用 StringBuilder 。它很易于使用,并提供比 StringBuffer 更好的性能。但請(qǐng)記住,與 StringBuffer 相比, StringBuilder 不是線程安全的,可能并不適用于所有情況。StringBuilder 并調(diào)用append方法來向String中添加一個(gè)新的部分。在你添加完了所有的部分后,你可以調(diào)用toString()方法來檢索已連接的字符串。 下面的代碼片段展示了一個(gè)簡單的例子。在每次迭代期間,該循環(huán)將 i 轉(zhuǎn)換為一個(gè) String ,并將其與空格一起添加到 StringBuilder sb 中。所以,最后,這段代碼在日志文件中寫入 “This is a test0 1 2 3 4 5 6 7 8 9” 。StringBuilder sb = new StringBuilder(“This is a test”);for (int i=0; i<10; i++) {
sb.append(i);
sb.append(” “);
}
log.info(sb.toString());
StringBuilder 。這進(jìn)一步提高了效率,因?yàn)樗恍枰獎(jiǎng)討B(tài)擴(kuò)展其容量。6. 盡可能使用基本類型
7. 盡量避免大整數(shù)和小數(shù)
8. 使用 Apache Commons StringUtils.Replace 而不是 String.replace
// replace this
test.replace(“test”, “simple test”);
// with this
StringUtils.replace(test, “test”, “simple test”);
9. 昂貴的緩存資源,如數(shù)據(jù)庫連接
總結(jié)
在你知道其必要性之前不要進(jìn)行優(yōu)化 使用分析器(profiler)來查找真正的瓶 優(yōu)先處理最大的瓶頸
CentOS 停服!我們有哪些頂流的國產(chǎn)操作系統(tǒng)
互聯(lián)網(wǎng)初中高級(jí)大廠面試題(9個(gè)G) 內(nèi)容包含Java基礎(chǔ)、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬并發(fā)、消息隊(duì)列、高性能緩存、反射、Spring全家桶原理、微服務(wù)、Zookeeper......等技術(shù)棧!
?戳閱讀原文領(lǐng)取! 朕已閱
評(píng)論
圖片
表情


