我的Java最佳化、規範總結

來源:互聯網
上載者:User

標籤:長度   多表關聯   cal   red   font   可擴充   order by   ons   開發   

代碼篇

1. 迴圈尤其注意,迴圈體內定義變、常量...都是錯誤的

 

2. 多重if判斷可使用map替代!!!

 

3. 避免使用else語句,替代方案:衛語句、狀態模式or策略模式!!!

 

4. for迴圈中嵌套if判斷,可以使用運算元替代。實現可擴充性和維護性,省去迴圈

 

5. 項目中儘可能多得使用commons工具類

 

6. 參數多寫JavaBean來封裝

 

7. 常量根據業務來劃分,代碼中盡量直接出現常數

 

8. 只對非穩定的代碼捕捉異常,異常從小到大依次捕捉,分別處理

 

9. 多寫注釋,建議每塊業務代碼都加註釋!!!(讀書得寫筆記,寫文章得打草稿),項目中缺少必要的注釋,簡潔有力的注釋有助於開發的效率和他人的閱讀!!!

 

10. 重複代碼的問題,抽取!!!能複製就堅決不黏貼,重複代碼會導致後期的改動量加大,容易遺漏;重複代碼很關鍵,品質尤為重要。項目中出現了大量重複代碼!!!

 

11. 集合初始化時,盡量指定集合初始化的大小,減少消耗

 

12. 對於明確不使用的代碼建議直接清除,或者加todo及時清除,避免出現垃圾

 

13. Final可以提高程式的相應效率

 

14. StringBuilder替代String

 

13.23中設計模式對應了不同的情境,建議項目中的業務從設計模式的角度出發,增加代碼的維護性和可擴充性\

 

15. Redis,mq的使用

 


資料庫

1. 建表規範  

表名欄位名的規範

儲存的字串幾乎相等,使用char

欄位和注釋永遠保持一致

小數類型為decimal

合適的字元儲存長度(節省資料表空間) tinyint  smallint  int 和bigint的選擇

欄位和注釋永遠保持一致  

長度基本不變的字串,使用char定長字串類型

 

2.sql最佳化

對於一成不變的表,可以在相關表增加冗餘欄位,減少關聯查詢,提高效能

Sql語句全部大寫,減少解析成本

任何較長的sql語句的都存在最佳化的空間,要儘可能的對較長的sql語句進行最佳化

 

 

3.索引

沒有唯一索引-------髒資料、效率低下

區分度最高的和等號放在最左邊

利用延遲關聯或者子查詢最佳化多分頁情境

SELECT a.* FROM 表 1 a, (select id from 表 1 where 條件 LIMIT 100000,20 ) b where a.id=b.id

多表關聯的時候被關聯的欄位需要有索引      

索引長度與區分度一對矛盾體,需要建立合理的索引長度

使用搜尋引擎來替代模糊查詢,這個國網貌似正在做

使用覆蓋索引來進行查詢操作,避免回表操作,提高效率。應用:查詢指定列資料的時候!!!

Order by最後是複合式索引的一部分,索引的有序性一定需要注意

Sq建立索引的目標達到ref層級

...

 

 

4.Mybatis

1. 不使用*作為查詢的欄位列表,減少解析,避免不一致

select j.* from shop_store_joinin

2. 不要寫一個大而全的資料更新介面,傳入POJO類。例如商戶入駐,只是更新一個狀態,卻對所有的欄位進行了一次更新操作,一來存在風險,二來進行了多餘的判斷和操作,三增加了儲存

 

 


我的Java最佳化、規範總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.