摘要:多次使用的相同變量最好歸納成常量多處使用的相同值的變量應(yīng)該盡量歸納為一個(gè)常量,方便日后的維護(hù)。通常程序員最好能夠?qū)Φ氖褂脠鼍白龀鲈u(píng)估,然后根據(jù)特性作出選擇。
請輸入代碼----------
Java程序員如何寫出“優(yōu)美”代碼,動(dòng)力節(jié)點(diǎn)告訴你怎么辦:
1、注釋盡可能全面
對于方法的注釋應(yīng)該包含詳細(xì)的入?yún)⒑徒Y(jié)果說明,有異常拋出的情況也要詳細(xì)敘述;類的注釋應(yīng)該包含類的功能說明、作者和修改者。
2、多次使用的相同變量最好歸納成常量
多處使用的相同值的變量應(yīng)該盡量歸納為一個(gè)常量,方便日后的維護(hù)。
3、盡量少的在循環(huán)中執(zhí)行方法調(diào)用
盡量在循環(huán)中少做一些可避免的方法調(diào)用,這樣可以節(jié)省方法棧的創(chuàng)建。例如:
1.for(int?i=0;i 2.??System.out.println(i);? 3.}? 可以修改為: 1.for(int?i=0,size=list.size();i 2.??System.out.println(i);? 3.}? 4、常量的定義可以放到接口中 在Java中,接口里只允許存在常量,因此把常量放到接口中聲明就可以省去publicstaticfinal這幾個(gè)關(guān)鍵詞。 5、ArrayList和LinkedList的選擇 這個(gè)問題比較常見。通常程序員最好能夠?qū)ist的使用場景做出評(píng)估,然后根據(jù)特性作出選擇。ArrayList底層是使用數(shù)組實(shí)現(xiàn)的,因此隨機(jī)讀取數(shù)據(jù)會(huì)比LinkedList快很多,而LinkedList是使用鏈表實(shí)現(xiàn)的,新增和刪除數(shù)據(jù)的速度比ArrayList快不少。 6、String,StringBuffer和StringBuilder 這個(gè)問題也比較常見。在進(jìn)行字符串拼接處理的時(shí)候,String通常會(huì)產(chǎn)生多個(gè)對象,而且將多個(gè)值緩存到常量池中。例如: 1.String?a="a";? 2.String?b="b";? 3.a=a+b;? 這種情況下jvm會(huì)產(chǎn)生"a","b","ab"三個(gè)對象。而且字符串拼接的性能也很低。因此通常需要做字符串處理的時(shí)候盡量采用StringBuffer和StringBuilder來。 7、包裝類和基本類型的選擇 在代碼中,如果可以使用基本數(shù)據(jù)類型來做局部變量類型的話盡量使用基本數(shù)據(jù)類型,因?yàn)榛绢愋偷淖兞渴谴娣旁跅V械模b類的變量是在堆中,棧的操作速度比堆快很多。 8、盡早的將不再使用的變量引用賦給null 這樣做可以幫助jvm更快的進(jìn)行內(nèi)存回收。當(dāng)然很多人其實(shí)對這種做法并不感冒。 9、在finally塊中對資源進(jìn)行釋放 典型的場景是使用io流的時(shí)候,不論是否出現(xiàn)異常最后都應(yīng)該在finally中對流進(jìn)行關(guān)閉。 10、在HashMap中使用一個(gè)Object作為key時(shí)要注意如何區(qū)分Object是否相同 在jdk的HashMap實(shí)現(xiàn)中,判斷兩個(gè)Object類型的key是否相同的標(biāo)準(zhǔn)是hashcode是否相同和equals方法的返回值。如果業(yè)務(wù)上需要對兩個(gè)數(shù)據(jù)相同的內(nèi)存對象當(dāng)作不同的key存儲(chǔ)到hashmap中就要對hashcode和equals方法進(jìn)行覆蓋。 關(guān)注“動(dòng)力節(jié)點(diǎn)Java學(xué)院”微信公眾號(hào),教你如何寫出“優(yōu)美”代碼并獲取更多Java資訊資訊。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66339.html
摘要:多次使用的相同變量最好歸納成常量多處使用的相同值的變量應(yīng)該盡量歸納為一個(gè)常量,方便日后的維護(hù)。通常程序員最好能夠?qū)Φ氖褂脠鼍白龀鲈u(píng)估,然后根據(jù)特性作出選擇。 請輸入代碼---------- Java程序員如何寫出優(yōu)美代碼,動(dòng)力節(jié)點(diǎn)告訴你怎么辦: 1、注釋盡可能全面 對于方法的注釋應(yīng)該包含詳細(xì)的入?yún)⒑徒Y(jié)果說明,有異常拋出的情況也要詳細(xì)敘述;類的注釋應(yīng)該包含類的功能說明、作者和...
摘要:軟件測試,遠(yuǎn)遠(yuǎn)不是簡簡單單的事。下面是我整理出來的一份軟件測試工程師學(xué)習(xí)與發(fā)展知識(shí)架構(gòu)體系圖。 軟件測試,遠(yuǎn)遠(yuǎn)不是簡簡單單的事。然后就Java,Python,說只...
摘要:以下我們使用一個(gè)案例來舉例說明面向?qū)ο蟮木幊谭椒?,案例的要求是在圖形接口畫出四方形圓形與三角形。本文已轉(zhuǎn)載個(gè)人技術(shù)公眾號(hào)歡迎留言討論與點(diǎn)贊上一篇推薦貓說編譯器與虛擬機(jī)哪個(gè)重要下一篇推薦貓說類與對象的那些事 有人告訴我那里遍地都是對象——我們把所有的程序代碼放在main()里面,事實(shí)上,那根本就不是面向?qū)ο蟮淖龇ǎ贘ava的面向?qū)ο笾?,我們也?huì)看到類和對象的不同,以及對象是如何讓你的生...
摘要:先不閑聊,今天說說年剛剛讀完的第二本書,其實(shí)還不算書吧,應(yīng)該是繪本,幾米繪本其中的一個(gè)小作品我的心中每天開出一朵花。希望你在你的程序人生中,能將一個(gè)美好的有效期限增大,這取決于你對他的期望值,還有就是去發(fā)現(xiàn)屬于你的美好。 本博客 貓叔的博客,轉(zhuǎn)載請申明出處 前言 3月到的時(shí)候,我的腦子中都是各種雜七雜八的預(yù)想,關(guān)于工作、生活、情感、現(xiàn)實(shí)等等,甚至都沒來的及準(zhǔn)備一下,2019年就已經(jīng)過了...
摘要:適配器模式的結(jié)構(gòu)通過繼承實(shí)現(xiàn)通過委讓實(shí)現(xiàn)代碼實(shí)現(xiàn)目標(biāo)類使用數(shù)據(jù)線適配類使用轉(zhuǎn)適配線主函數(shù)與在適配器模式中的應(yīng)用當(dāng)前,不少公司使用整合進(jìn)行系統(tǒng)開發(fā)。 Java 23種設(shè)計(jì)模式----適配器模式 1、面向?qū)ο驩O = 面向?qū)ο蠓治鯫OA + 面向?qū)ο笤O(shè)計(jì)OOD + 面向?qū)ο缶幊蘋OP 2、編程是一門技術(shù)、同時(shí)也是一門藝術(shù) 3、應(yīng)該面向接口編程,而不是面向?qū)崿F(xiàn)編程 什么是設(shè)計(jì)模式 設(shè)計(jì)模式是...
閱讀 2503·2021-11-15 18:14
閱讀 1725·2021-10-14 09:42
閱讀 3769·2021-10-11 10:58
閱讀 3965·2021-10-09 09:44
閱讀 2427·2021-09-26 09:55
閱讀 2451·2021-09-24 10:38
閱讀 2043·2021-09-04 16:48
閱讀 3280·2021-09-02 15:21