final修飾符
final修飾的類是不可派生的暗挑,讓類不可以被繼承毅访。
final修飾的方法不可以被重寫畦幢。
java編譯器會尋找機會內(nèi)聯(lián)所有的final方法庸蔼,內(nèi)聯(lián)對java運行效率提示巨大。
基本數(shù)據(jù)類型代替對象
String類型:程序除了創(chuàng)建字符串外晓铆,底層還包含一個char[]數(shù)組勺良。
例如:String text = 'hello';char[]數(shù)組依次存放了h,e,l,l,o.
靜態(tài)變量
某個對象被定義為static變量所引用,這個對象通常會常駐內(nèi)存骄噪,不會被回收尚困,直到程序終止。
二維數(shù)組
二維數(shù)組占用的內(nèi)存空間比一維數(shù)組多得多链蕊,大概是10倍以上事甜。
及時關閉流
數(shù)據(jù)庫鏈接,I/O流等操作滔韵,使用完畢后逻谦,要即使關閉以釋放資源,因為對這些大對象的操作會造成系統(tǒng)大的開銷陪蜻。
try catch
應該放在最外層
循環(huán)內(nèi)不要創(chuàng)建對象引用
循環(huán)外創(chuàng)建對象Object obj = null跨跨;
循環(huán)內(nèi)obj=new Object();
這樣內(nèi)存只有一份Object對象引用,沒次new的時候Object對象引用指向不同的Object囱皿。
不要將數(shù)組聲明為public static final
無意義勇婴,只是定義了引用為static final,數(shù)組的內(nèi)容還是可以隨意變更的嘱腥。
同步代碼快替代同步方法
除非能確定一整個方法都是需要進行同步的耕渴,否則盡量使用同步代碼塊。
避免對那些不需要進行同步的代碼也進行了同步齿兔,影響了代碼執(zhí)行效率橱脸。