盤點Java編程性能優化技巧!

為'Vectors' 和 'Hashtables'定義初始大小 JVM為Vector擴充大小的時候需要重新創建一個更大的數組,將原原先數組中的內容複製過來,最後,原先的數組再被回收。可見Vector容量的擴大是一個頗費時間的事。通常,默認的10個元素大小是不夠的。你最好能準確的估計你所需要的最佳大小。

盤點Java編程性能優化技巧!

儘量使用移位來代替'a/b'的操作

"/"是一個代價很高的操作,使用移位的操作將會更快和更有效

int num = a / 4;

int num = a / 8;

應該改為

int num = a >> 2;

int num = a >> 3;

但注意的是使用移位應添加註釋,因為移位操作不直觀,比較難理解。

儘量確定StringBuffer的容量

StringBuffer 的構造器會創建一個默認大小(通常是16)的字符數組。在使用中,如果超出這個大小,就會重新分配內存,創建一個更大的數組,並將原先的數組複製過來,再 丟棄舊的數組。在大多數情況下,你可以在創建 StringBuffer的時候指定大小,這樣就避免了在容量不夠的時候自動增長,以提高性能。

如:StringBuffer buffer = new StringBuffer(1000);

盤點Java編程性能優化技巧!

最後,再來提兩點建議!

編程的時候,一定要獨立思考

寫一個程序,不斷改進

你學習的過程可能很漫長,我建議你從一開始的時候,就想著寫一個小程序,比如一個計算器的程序,開始可能很簡單,僅僅通過命令行的方式呈現,功能可能也只有加減乘除,但是隨著你學習的深入,你可以不斷的完善這個程序,直到有一天,你把它做成一個非常完善,性能非常卓越的程序後,你就真正學成了。

盤點Java編程性能優化技巧!

尚學堂立志解決中國教育不公平和低效率問題,幫助千千萬萬被傳統教育方式耽誤的人,傳授實用、前沿的知識,成就學員個人理想,為愛你的人和你愛的人創造美好的生活。尚學堂12大精英團隊+各類實戰項目,真正實現1+1>10的目標效果。幫助學員迅速成長,持久騰飛,成就學員“高富帥”人生。


分享到:


相關文章: