【命名規約】
抽象類命名使用Abstract或者Base開頭
測試類名使用Test結尾
如果使用到了設計模式,在類名中體現具體的模式 OrderFactory LonginProxy
【常量定義】
long類型的初始賦值必須使用大寫的L
使用專門的類來維護常量ConfigConsts
包裝類全部使用equals判斷
所有P0JO類屬性必須使用包裝數據類型.
定義POJO時不要定義默認值;
構造函數不要加入任何的邏輯 如需要加入放在init方法中
final可提高程序的響應效率
任何類、方法、參數、變量需要控制訪問範圍,過於寬泛的範圍訪問不利於模塊的解耦。
【集合處理】
只要重寫equals 就必須重寫hashCode
如果自定義對象作爲Map的鍵,那麼必須重寫hashCode和equals
集合轉數組 必須使用帶參傳遞 以防出現classCastException錯誤
ConcurrentHashMap key value均不允許爲null;
【併發處理】
線程資源必須通過線程池提供,如果不使用有可能造成系統創建大量同類線程而
導致消耗完內存或者過度切換的問題。
線程池必須使用ThreadPoolExecutor去創建,這樣的目的是規避資源耗盡的風險。
高併發時應該考慮鎖的性能損耗,能用無鎖數據結構就不要用鎖,能鎖區域就
不要鎖整體,能用對象鎖就不要用類
對多個資源加鎖,需要保持一致的加鎖順序,否則有可能會造成死鎖.
多線程使用定時任務使用ScheduledExecutorService
CountDownLatch異步轉同步時,需要調用countDown方法。
【循環語句】
if 必須有else;
switch必須有default;
不要在條件判斷中執行其他複雜的語句,將複雜的邏輯判斷的結果賦值給一個有意義的
布爾變量名,以提高可讀性。
Math.random使用netInt專用方法
任何數據結構的構造或初始化都應指定大小,避免吃光內存。
對於明確停止使用的代碼和配置,如方法、變量、類、配置文件、動態配置屬性都應該清理,避免過多的垃圾。
【異常規約】
異常不要用來做流程控制 條件控制 因爲異常的處理效率比條件分支低
只能對不穩定代碼進行try catch,並且對齊進行區別化的處理
finally塊必須對資源對象、流對象進行關閉,有異常也要做try catch
finally 禁止使用return會導致try中禁止執行.
防止NPE問題
自動解箱 Integer爲null轉int
數據庫查詢的值爲null;
集合中有null;
遠程調用返回對象,一律要求NPE
對於Session中獲取的數據,建議NPE
級聯調用Obj.getA().getB().getC()有可能出現NPE對象。
對於公司外的http/api開放接口必須使用"錯誤碼"
【日誌規約】
阿里巴巴 Java 開發手冊(筆記)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
java 學習泛型遇到的問題
爱上学习
2018-08-27 20:04:12
JSP 中的2種包含(導入)
爱上学习
2018-08-27 20:03:43
HashMap部分源碼閱讀,主要是put方法相關的部分
HeiShuaiGuo
2018-08-27 20:03:32
public String(byte[] bytes, int offset, int length)
Myrkyn
2018-08-27 20:03:04
jstl標籤 fmt:formatDate 設置當前時間顯示星期幾
HaHa_Sir
2018-08-27 20:02:59
Java 反射,reflect
crossy
2018-08-27 20:02:58
JVM的內存區域劃分
相由心生fhy
2018-08-27 20:02:39
SpringMVC使用ajax 實現文件下載
HaHa_Sir
2018-08-27 20:02:23
java寫一個簡單的jdbc數據庫連接池
HaHa_Sir
2018-08-27 20:02:23
Servlet輸出JSON數據Servlet向瀏覽器返回JSON數據
HaHa_Sir
2018-08-27 20:02:22
原生Servlet文件上傳和下載Servlet多個文件上傳
HaHa_Sir
2018-08-27 20:02:22
GET和POST請求的區別
HaHa_Sir
2018-08-27 20:02:21
java Object 類中clone方法用法記錄
HaHa_Sir
2018-08-27 20:02:21
SpringMVC重定向參數中文丟失和MyBatis關聯查詢時問題總結
HaHa_Sir
2018-08-27 20:02:21
java註解學習---@Inherited註解的理解學習(四)
HaHa_Sir
2018-08-27 20:02:09