java編碼最佳實(shí)踐指南2016

java編碼最佳實(shí)踐指南2016

ID:34723877

大小:77.18 KB

頁數(shù):17頁

時(shí)間:2019-03-10

java編碼最佳實(shí)踐指南2016_第1頁
java編碼最佳實(shí)踐指南2016_第2頁
java編碼最佳實(shí)踐指南2016_第3頁
java編碼最佳實(shí)踐指南2016_第4頁
java編碼最佳實(shí)踐指南2016_第5頁
資源描述:

《java編碼最佳實(shí)踐指南2016》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、JAVA編碼最佳實(shí)踐指南楊忠贏Java代碼相關(guān)1、打開文件、流之后應(yīng)及時(shí)關(guān)閉,避免過多占用系統(tǒng)IO資源。2、避免在for循環(huán)中做if判斷,便于編譯優(yōu)化。3、不要兩次初始化變量。例如:Stringa=newString();Stringa=some.invoke();優(yōu)化為:Stringa=null;Stringa=some.invoke();4、使用finalstatic聲明log4j對(duì)象,減少內(nèi)存占用。例如:publicclassa{privateLog_logger=Log.getLogger(this.class);}優(yōu)化為:publicclassa{privatefinalstatic

2、_logger=Log.getLogger(a.class);}1、使用StringBuffer拼接字符串。例如:Stringa=”abcdefg”+”hijklmno”+”xyz”;優(yōu)化為:StringBufferab=NewStringBuffer().append(“abcdefg”).append(“hijklmno”).append(“xyz”);Stringa=ab.toString();2、使用預(yù)編譯語句prepareStatement代替createStatement,并使用占位符生成SQL語句,傳遞參數(shù)。例如:Stringsql=”select*fromawhereid=’”

3、+id+”’”;Statementst=conn.createStatement(sql);st.executeQuery();優(yōu)化為:Stringsql=”select*fromawhereid=?”;PreparedStatementpstmt=conn.prepareStatement(sql);pstmt.setString(1,id);pstmt.executeQuery(sql);3、避免在循環(huán)中聲明對(duì)象、操作數(shù)據(jù)庫(kù)、打開文件等。例如:for(inti=0;i

4、e=?Whereid=?”;ds.update(sql,newObject[]{date,i});}優(yōu)化為:Stringdate=ds.getDate();Stringsql=”updateasetupdateDate=?Whereidin?”int[]ids=newint[n];for(inti=0;i

5、ch(method1Exceptione){//andtheJVMruntime//Handleexception1//tooptimizethis}//codetry{some.method2();}catch(method2Exceptione){//Handleexception2}try{some.method3();}catch(method3Exceptione){//Handleexception3}以下代碼更容易被編譯器優(yōu)化try{some.method1();//Easiertooptimizesome.method2();some.method3();}catch(meth

6、od1Exceptione){//Handleexception1}catch(method2Exceptione){//Handleexception2}catch(method3Exceptione){//Handleexception3}1、盡量不要將超過100K以上的大對(duì)象如數(shù)組、集合對(duì)象(List、Map)放到HttpSession或其他需要序列化的對(duì)象中,并注意及時(shí)清空Session。Hibernate相關(guān)1、使用命名查詢來代替在代碼中執(zhí)行HQL查詢。SQL/數(shù)據(jù)庫(kù)相關(guān)為了讓應(yīng)用程序運(yùn)行得更快,有時(shí)候我們需要把部分操作交數(shù)據(jù)庫(kù)去操作,但是如果沒有正確地進(jìn)行數(shù)據(jù)庫(kù)操作,則應(yīng)用程序中的

7、SQL查詢有可能不能按照預(yù)想的方式進(jìn)行響應(yīng)(要么不返回?cái)?shù)據(jù)、要么耗費(fèi)的時(shí)間長(zhǎng)得出奇)降低了應(yīng)用程序的響應(yīng)速度,用戶必須等待的時(shí)間過長(zhǎng),這樣便會(huì)影響到系統(tǒng)用戶的正常業(yè)務(wù)操作,此規(guī)范的定制目的就是為了規(guī)范SQL的使用,提高系統(tǒng)性能。以下是針對(duì)Oracle數(shù)據(jù)庫(kù)SQL操作的一般性原則,其它數(shù)據(jù)庫(kù)應(yīng)根據(jù)特定數(shù)據(jù)庫(kù)的情況加以調(diào)整:?盡可能地減少大表全表搜索,最常見方法是增加索引;?當(dāng)全表搜索是最快方法時(shí),考

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。