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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

处理问题的方式

發布時間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 处理问题的方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.?測試代碼的時候,如果某段代碼效率特別差,可以通過注釋部分代碼的方式以確定問題代碼的位置。測試的時候一定保證只有一部分代碼在執行,排除其他干擾。

2. 日志記錄:

? ? 1). 要有詳細的日志記錄,方便出錯時查找。

? ? 2). 在開發的時候可以將一些日志級別設為DEBUG,代碼中增加一些debug級別的日志記錄,方便調試。

? ? ? ? ?真正發布項目的時候再將日志級別改為info,那么debug級別的日志就不會記錄下來。

? ? 3). 為了防止代碼中出異常,而導致相關日志沒有記錄。我們可以考慮將一些操作放到finally中。例如,在之前的代碼中增加一個標識符,如:flag = false ,?

? ? ? ? ?若出現異常,在異常捕獲中將狀態改為true ,最后在finally中統一處理。

3.?如果需要記錄某些日志型內容到數據庫或文件中,一個一個記錄比較麻煩。可以考慮,批量記錄。一般情況下:一個主線程執行任務,一個輔助線程定時來記錄數據。

? ? 這里要考慮數據在內存中的保留和同步問題,可以借助concurrent?包下面的一些類,如:BlockQueue類型的隊列,來臨時存儲數據,供輔助線程使用。

4.?程序中如果使用線程,最好給線程一個名稱,以方便監控。使用線程自己的命名可能會導致命名重復。

5.?為防止數據在傳輸過程中丟失,可以將考慮將數據放到一個中間件中,如:數據庫,ActiveMQ

6. 緩存中數據的處理:為了提高代碼效率,我們可以考慮將一部分數據庫內容加載到內存中。但數據庫會有插入、更新操作,為了防止這部分數據丟失。有兩種方式處理:

? ? 1). 當我們去緩存中查詢不到想要的數據時,再去數據庫中查詢,看是否有想要的記錄,如果有,獲取并將數據放到緩存中。

? ? 2). 定時任務更新緩存。

? ? 上面兩種解決方式中的問題,第一種方式,如果數據庫中的數據被更新了,很可能導致緩存和數據庫中數據不統一。第二種方式的時效性可能不太好。

7.?如果某一任務要頻繁的連接數據庫,可以考慮使用單例模式。

8. 獲取文件路徑的兩種常用方式:

? ? 1). System.getProperty("user.dir") ? ? ? ? ?// 注意Tomcat下獲取的是tomcat中的bin目錄,直接使用jar文件的項目中可以考慮。

? ? 2). Test.class.getResource("/").getPath() ? // 獲取Tomcat中部署項目的classes目錄

9.?一個要一直運行的循環或程序中,要注意異常的處理。保證即使出現異常,也不要讓程序停下來。

?

轉載于:https://www.cnblogs.com/Jtianlin/p/4264024.html

總結

以上是生活随笔為你收集整理的处理问题的方式的全部內容,希望文章能夠幫你解決所遇到的問題。

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