好程式設計師分享Java開發常用規範技巧二

2021-09-24 23:33:42 字數 2284 閱讀 8122

1、使用一些日期類的時候,推薦使用localdatetime來替代calendar類,或者說使用instant來替代掉date類。

2、盡量避免在for迴圈裡面執行try-catch操作,可以選擇將try-catch操作放在迴圈體外部使用。

正確做法:

try

}catch (exception e)

for (int i = 0; i < 100; i++) catch (exception e) }

3、對於大段的**進行try-catch操作,這是一種不負責任的行為,將穩定的**也都包圍在了try-catch語句塊裡面沒能很好的分清**的穩定性範圍。

通常我們稱在執行中不會出錯的**塊為穩定性**,可能會有異常出錯的部分為非穩定性**塊,後者才是try-catch重點需要關注的物件。

4、在jdk7之後,對於流這類需要關閉連線釋放資源的物件,可以使用try-with-resource處理機制來應對。

例如下方**:

file file = new file("*****");

try (fileinputstream fin = new fileinputstream(file)) catch (exception e)

5.使用arraylist的時候,如果清楚它的指定大小的話,可以盡量在初始化的時候進行大小指定,因為隨著arraylist不斷新增新的元素之後,鍊錶的體積會不斷增大擴容。

private void grow(int mincapacity)

6、對於一些簡訊,郵件,**,下單,支付等應用場景而言,開發的時候需要設定相關的防重複功能限制,防止出現某些惡意刷單,濫刷這型別情況。

7、對於敏感詞彙發表的時候,需要考慮一些文字過濾的策略。

8、在建立索引的時候,對於索引的命名需要遵循一定的規範:

索引型別

命名規則

案例

主鍵索引

pk_欄位名,pk是指primary key

pk_order_id

唯一索引

uk_欄位名,uk是指 unique key

uk_order_id

普通索引

idx_欄位名,idx是指 index

idx_order_id

9、當我們需要儲存一段文字資訊的時候,需要先考慮儲存文字的長度。

如果文字的長度超過了5000,則不建議再選擇使用varchar型別來進行儲存,可以考慮使用text型別進行資料儲存,這個時候可以考慮單獨用一張表來進行儲存資料,並且通過乙個額外的主鍵id來對應,從而避免影響其他欄位的查詢。

10、在進行資料庫命名的時候盡量保證資料庫的名稱和專案工程的名稱一致。

11、在進行表結構設計的時候,只要具有唯一性質的字段都需要建立唯一索引。

這樣有助於後期進行查詢的時候提高查詢的效率,沒有唯一索引這一層的保障,即使在業務層加入了攔截,但是依然容易造成線上髒資料的產生。

12、在進行order by這型別sql查詢的時候,需要注意查詢索引的有序性。

關於索引的建立,可以去了解一下索引的星級評定,例如三星索引。但是個人認為索引沒有所謂的最優性,需要結合實際的業務場景來設計。

13、在mysql中,使用count(*)會統計值為 null 的行,而 count(列名)不會統計此列為 null 值的行。

28、在進行資料庫儲存引擎選擇的時候,需要結合相關的應用場景來選擇,如果是需要應用在select操作較多的情況下,可以選擇使用myisam儲存引擎,如果是對於資料的insert,update,這類修改操作較多的業務場景,則優先推薦使用innodb儲存引擎。目前普遍網際網路公司都推薦使用innodb較多。

好程式設計師Java分享為什麼要使用Docker

由於容器不需要進行硬體虛擬以及執行完整作業系統等額外開銷,docker 對系統資源的利用率更高。無論是應用執行速度 記憶體損耗或者檔案儲存速度,都要比傳統虛擬機器技術更高效。因此,相比虛擬機器技術,乙個相同配置的主機,往往可以執行更多數量的應用。傳統的虛擬機器技術啟動應用服務往往需要數分鐘,而 do...

好程式設計師筆記分享 分類

ios培訓 我的objective c筆記,期待與您交流 在objective c語言中,提供了分類和協議兩種特性。這使得物件導向程式設計中可以使用分類和協議對已有類進行擴充套件和修改。本文主要介紹一下分類。一 簡介 分類是在已有類的基礎上對類進行的擴充套件。這種方式在我們不知道相應類的內部實現時十...

好程式設計師筆記分享 協議

ios培訓 我的objective c筆記,期待與您交流 在objective c中,是不能實現多繼承功能的,所以提供了協議。協議事實上是一組方法列表,它並不依賴於特定的類。使用協議可以使不同的類共享相同的訊息。1 定義 協議的定義 protocol 協議名 end 2 協議的建立 嘗試建立乙個協議...