freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

阿里巴巴java開發(fā)手冊-文庫吧資料

2025-03-29 14:40本頁面
  

【正文】 象鎖,就不要用類鎖。說明:如果是 JDK8 的應用,可以使用 Instant 代替 Date,LocalDateTime 代替 Calendar,DateTimeFormatter 代替 Simpledateformatter,官方給出的解釋:simple beautiful strong immutable threadsafe。亦推薦如下處理:private static final ThreadLocalDateFormat df = new ThreadLocalDateFormat() {Overrideprotected DateFormat initialValue() {return new SimpleDateFormat(yyyyMMdd)。5. 【強制】SimpleDateFormat 是線程不安全的類,一般不要定義為 static 變量,如果定義為static,必須加鎖,或者使用 DateUtils 工具類。 說明:Executors 返回的線程池對象的弊端如下:1)FixedThreadPool 和 SingleThreadPool:允許的請求隊列長度為 ,可能會堆積大量的請求,從而導致 OOM。如果不使用線程池,有可能造成系統(tǒng)創(chuàng)建大量同類線程而導致消耗完內(nèi)存或者 “過度切換”的問題。 ...}3. 【強制】線程資源必須通過線程池提供,不允許在應用中自行顯式創(chuàng)建線程。——禁止用于商業(yè)用途,違者必究——22 / 332. 【強制】創(chuàng)建線程或線程池時請指定有意義的線程名稱,方便出錯時回溯。(六) 并發(fā)處理1. 【強制】獲取單例對象需要保證線程安全,其中的方法也要保證線程安全。如:ArrayList 是 order/unsort;HashMap 是 unorder/unsort;TreeSet 是 order/sort。 說明:有序性是指遍歷的結果是按某種比較規(guī)則依次排列的。11. 【推薦】高度注意 Map 類集合 K/V 能不能存儲 null 值的情況,如下表格:集合類KeyValueSuper說明Hashtable不允許為 null不允許為 nullDictionary線程安全ConcurrentHashMap不允許為 null不允許為 nullAbstractMap分段鎖技術TreeMap不允許為 null允許為 nullAbstractMap線程不安全HashMap允許為 null允許為 nullAbstractMap線程不安全反例: 由于 HashMap 的干擾,很多人認為 ConcurrentHashMap 是可以置入 null 值,而事實上,存儲 null 值時會拋出 NPE 異常。如果是 JDK8,使用 方法。說明:keySet 其實是遍歷了 2 次,一次是轉(zhuǎn)為 Iterator 對象,另一次是從 hashMap 中取出 key 所對應的 value。反例:HashMap 需要放置 1024 個元素,由于沒有設置容量初始大小,隨著元素不斷增加,容 量 7 次被迫擴大,resize 需要重建 hash 表,嚴重影響性能。說明:HashMap 使用 HashMap(int initialCapacity) 初始化,正例:initialCapacity = (需要存儲的元素個數(shù) / 負載因子) + 1。}}。3) x=y,則 x,z 比較結果和 y,z 比較結果相同。說明:1) x,y 的比較結果和 y,x 的比較結果相反。for (String temp : a) {if (1.equals(temp)) { (temp)。 (1)。 if (刪除元素的條件) {()。正例:IteratorString it = ()。7. 【強制】不要在 foreach 循環(huán)里進行元素的 remove/add 操作。說明:擴展說一下 PECS(Producer Extends Consumer Super)原則:1)頻繁往外讀取內(nèi)容 的,適合用上界 Extends。 那么 (0)也會隨之修改。 運行時異常。 List list = (str)。 體現(xiàn)的是適配器模式,只是轉(zhuǎn)換接口,后臺的數(shù)據(jù)仍是數(shù)組。5. 【強制】使用工具類 ()把數(shù)組轉(zhuǎn)換成集合時,不能使用其修改集合相關的方 法,它的 add/remove/clear 方法會拋出 UnsupportedOperationException 異常。 array = (array)。(bao)。正例:ListString list = new ArrayListString(2)。4. 【強制】使用集合轉(zhuǎn)數(shù)組的方法,必須使用集合的 toArray(T[] array),傳入的是類型完全 一樣的數(shù)組,大小就是 ()。 說明:subList 返回的是 ArrayList 的內(nèi)部類 SubList,并不是 ArrayList ,而是 ArrayList 的一個視圖,對于 SubList 子列表的所有操作最終會反映到原列表上。說明:String 重寫了 hashCode 和 equals 方法,所以我們可以非常愉快地使用 String 對象 作為 key 來使用。2) 因為 Set 存儲的是不重復的對象,依據(jù) hashCode 和 equals 進行判斷,所以 Set 存儲的 對象必須重寫這兩個方法。 思考:如果是一個 private 的方法,想刪除就刪除,可是一個 public 的 service 方法,或者 一個 public 的成員變量,刪除一下,不得手心冒點汗嗎?變量像自己的小孩,盡量在自己的 視線內(nèi),變量作用域太大,如果無限制的到處跑,那么你會擔心的。 說明:任何類、方法、參數(shù)、變量,嚴控訪問范圍。7) 類成員方法只供類內(nèi)部調(diào)用,必須是 private。 5) 類 static 成員變量如果僅在本類使用,必須是 private。3) 類非 static 成員變量并且與子類共享,必須是 protected。20. 【推薦】類成員與方法訪問控制從嚴:1) 如果不允許外部直接通過 new 來創(chuàng)建對象,那么構造方法必須是 private。19. 【推薦】慎用 Object 的 clone 方法來拷貝對象。4) 不允許運行過程中重新賦值的局部變量。2) 不允許修改引用的域?qū)ο螅纾篜OJO 類的域變量。 i++) { str = str + hello。for (int i = 0。說明:反編譯出的字節(jié)碼文件顯示每次循環(huán)都會 new 出一個 StringBuilder 對象,然后進行append 操作,最后通過 toString 方法返回 String 對象,造成內(nèi)存資源浪費。} else {return 100。在getter/setter 方法中,不要增加業(yè)務邏輯,增加排查問題的難度。 說明:公有方法是類的調(diào)用者和維護者最關心的方法,首屏展示最好;保護方法雖然只是子類 關心,也可能是“模板設計模式”下的核心方法;而私有方法外部一般不需要特別關心,是一個 黑盒實現(xiàn);因為方法信息價值較低,所有 Service 和 DAO 的 getter/setter 方法放在類體最 后。14. 【推薦】當一個類有多個構造方法,或者多個同名方法,這些方法應該按順序放置在一起, 便于閱讀。String[] ary = (,)。13. 【推薦】使用索引訪問用 String 的 split 方法得到的數(shù)組時,需做最后一個分隔符后有無 內(nèi)容的檢查,否則會有拋 IndexOutOfBoundsException 的風險。使用 IDE 的中工具:source generate toString 時,如果繼承了另一個 POJO 類,注意在前面加一下 。11. 【強制】構造方法里面禁止加入任何業(yè)務邏輯,如果有初始化邏輯,請放在 init 方法中。10. 【強制】序列化類新增屬性時,請不要修改 serialVersionUID 字段,避免反序列失?。蝗?果完全不兼容升級,避免反序列化混亂,那么請修改 serialVersionUID 值。反例:POJO 類的 gmtCreate 默認值為 new Date()。所以包裝 數(shù)據(jù)類型的 null 值,能夠表示額外的信息,如:遠程調(diào)用失敗,異常退出。正例:數(shù)據(jù)庫的查詢結果可能是 null,因為自動拆箱,用基本數(shù)據(jù)類型接收有 NPE 風險。3) 【推薦】所有的局部變量使用基本數(shù)據(jù)類型。8. 關于基本數(shù)據(jù)類型與包裝數(shù)據(jù)類型的使用標準如下:1) 【強制】所有的 POJO 類屬性必須使用包裝數(shù)據(jù)類型。說明:推薦使用 equals (JDK7 引入的工具類)7. 【強制】所有的相同類型的包裝類對象之間值的比較,全部使用 equals 方法比較。正例: test.equals(object)。接口提供方既然明確是過時接口, 那么有義務同時提供新的接口;作為調(diào)用方來說,有義務去考證過時方法的新實現(xiàn)是什么。5. 【強制】不能使用過時的類或方法。(提倡同學們盡量不用可變參數(shù)編程) 正例:public User getUsers(String type, Integer... ids) {...}4. 【強制】外部正在調(diào)用或者二方庫依賴的接口,不允許修改方法簽名,避免對接口調(diào)用方產(chǎn)生 影響。3. 【強制】相同參數(shù)類型,相同業(yè)務含義,才可以使用 Java 的可變參數(shù),避免使用 Object。一個是字母的 O,一個是數(shù)字的 0,加Override 可以準確判斷是否覆蓋成功。2. 【強制】所有的覆寫方法,必須加Override 注解。 說明:沒有必要插入多個空行進行隔開。10. 【推薦】方法體內(nèi)的執(zhí)行語句組、變量的定義語句組、不同的業(yè)務邏輯之間或者不同的語義 之間插入一個空行。StringBuffer sb = new StringBuffer()。 long b = 4L。9. 【推薦】沒有必要增加若干空格來使某一行的字符與上一行對應位置的字符對齊。8. 【強制】IDE 的 text file encoding 設置為 UTF8。正例:下例中實參的a,后邊必須要有一個空格。//參數(shù)很多的方法調(diào)用可能超過 120 個字符,不要在逗號前換行method(args1, args2, args3, ..., argsX)。反例:StringBuffer sb = new StringBuffer()。正例:StringBuffer sb = new StringBuffer()。4) 在多個參數(shù)超長,在逗號后換行。2) 運算符與下文一起換行。// 右大括號前換行,右大括號后有 else,不用換行} else {(ok)。// 關鍵詞 if 與括號之間必須有一個空格,括號內(nèi)的 f 與左括號,0 與右括號不需要空格if (flag == 0) { (say)。正例: (涉及 15 點)public static void main(String[] args) {// 縮進 4 個空格String say = hello。說明:如果使用 tab 縮進,必須設置 1 個 tab 為 4 個空格。、加減乘除符號等。說明:運算符包括賦值運算符=、邏輯運算符amp。反例:if (空格 a == b 空格)3. 【強制】if/for/while/switch/do 等保留字與括號之間都必須加空格。2. 【強制】 左小括號和字符之間不出現(xiàn)空格;同樣,右小括號和字符之間也不出現(xiàn)空格。3) 右大括號前換行。如果是大括號內(nèi)為空,則簡潔地寫成{}即可,不需要換行;如果 是非空代碼塊則:1) 左大括號前不換行。正例:public Enum { MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7)。5. 【推薦】如果變量值僅在一個范圍內(nèi)變化,且?guī)в忻Q之外的延伸屬性,定義為枚舉類。4) 包內(nèi)共享常量:即在當前包下單獨的 constant 目錄下。 (),預期是 true,但實際返回為 false,導致線上問題。反例:易懂變量也要統(tǒng)一定義成應用內(nèi)共享常量,兩位攻城師在兩個類中分別定義了表示“是”的變量:類 A 中:public static final String YES = yes。1) 跨應用共享常量:放置在二方庫中,通常是 中的 constant 目錄下。 說明:大而全的常量類,非得使用查找功能才能定位到修改的常量,不利于理解和維護。 寫的是數(shù)字的 21,還是 Long 型的 2?3. 【推薦】不要使用一個常量類維護所有常量,應該按常量功能進行歸類,分開維護。2. 【強制】long 或者 Long 初始賦值時,必須使用大寫的 L,不能是小寫的 l,小寫容易跟數(shù)字1 混淆,造成誤解。反例: String key = Idtaobao_ + tradeId。4) POJO 是 DO/DTO/BO/VO 的統(tǒng)稱,禁止命名成 xxxPOJO。2) 數(shù)據(jù)傳輸對象:xxxDTO,xxx 為業(yè)務領域相關的名稱。 6) 修改的方法用 update 做前綴。4) 插入的方法用 save(推薦)或 insert 做前綴。2) 獲取多個對象的方法用 list 做前綴。 正例:枚舉名字:DealStatusEnum,成員名稱:SUCCESS / UNKOWN_REASON。
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1