日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

好程序员分享Java开发常用规范技巧二

發布時間:2024/8/26 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 好程序员分享Java开发常用规范技巧二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、使用一些日期類的時候,推薦使用LocalDateTime來替代Calendar類,或者說使用Instant來替代掉Date類。

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

?正確做法:

try {

?????????for (int i = 0; i < 100; i++) {

?????????????doSomeThing();

??????????}

???????}catch (Exception e){

????????????e.printStackTrace();

???????}

?

不推薦做法:

for (int i = 0; i < 100; i++) {

?

??????try {

????????????????doSomeThing();

????????????} catch (Exception e) {

????????????????e.printStackTrace();

????????????}

????????}

?

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) {

????????// overflow-conscious code

????????int oldCapacity = elementData.length;

????????int newCapacity = oldCapacity + (oldCapacity >> 1);

????????if (newCapacity - minCapacity < 0)

????????????newCapacity = minCapacity;

????????if (newCapacity - MAX_ARRAY_SIZE > 0)

????????????newCapacity = hugeCapacity(minCapacity);

????????// minCapacity is usually close to size, so this is a win:

????????elementData = Arrays.copyOf(elementData, newCapacity);

}

6、對于一些短信,郵件,電話,下單,支付等應用場景而言,開發的時候需要設置相關的防重復功能限制,防止出現某些惡意刷單,濫刷這類型情況。

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

這一塊的功能可以考慮直接接入市面上已有的成熟的UGC監控服務,或者使用公司內部自研的ugc過濾工具,防止用戶發表惡意評論等情況出現。

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較多。

免責聲明:內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容

轉載于:https://www.cnblogs.com/gcghcxy/p/11133961.html

總結

以上是生活随笔為你收集整理的好程序员分享Java开发常用规范技巧二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。