一. 日誌部分:
1. log4j日誌info.warn.error應該在各方法中有效的運用,一些錯誤日誌必須打上error日誌,一些重要的方法必須加上info日誌,以便以後定位問題的查詢
2.log4j應該輪循刪除前15天之前的日誌,以防磁碟滿
二. **分層、分模組、甚至分工程、乙個專案分多個機器部署不通網域名稱:
rpc.action的**只處理引數的封裝;
service**專注於業務邏輯的控制,包括引數的校驗
dao這塊在mybaits的話功能就是sql,如果是ibatis也應該只限於資料庫的引數封裝等
大專案為了降低各功能的耦合度、各個功能的分工開發、系統的健壯性(乙個操作失敗了不影響總個流程的運轉),都通過拆分模組或者拆分子工程分開部署的方法,通過分布式服務框架來呼叫,這裡可以使用dubbo或者hsf
三. 介面
對外介面注意許可權控制。
(傳輸資料+傳輸當前時間)的加密
介面通用化,乙個介面滿足多個小業務,支援多種查詢條件
方式:盡量使用dubbo集群對內介面,這樣好分流。當然應用的話http介面(http介面更加通用)通過nginx haproxy、lvs tengine
等負載均衡
http介面內容用json統一的格式,如果有追求,序列化壓縮更好
大資料list都需要分頁取
四. 記憶體
大批量的操作注意記憶體溢位,比如db事務操作,大資料應該用臨時表
資源記得釋放,比如檔案流後都需要close要不檔案將被鎖定無法修改,而且還占用記憶體
sql注意分頁,注意一些引數必須有,不要因特殊業務場景,導致一些核心引數少,就查出幾百萬條資料,這樣記憶體立馬打滿溢位了。
死迴圈,
五 異常的處理
在不要求事務的前提下,catch住異常,並記錄日誌,這樣不影響大流程的運轉
應用需要自定義自己的異常類,這樣好區分,在外面也可以catch想用的異常類做相關的處理
為了減小使用者開發時處理異常的開銷,程式可以不丟擲異常(runtimeexception除外),而是返回錯誤**
java知識點積累
1.時間格式和字串的轉化 dateformat sdf new dateformat yyyy mm dd hh mm ss 時間格式轉化為字串 string newtime sdf.format new date try catch parseexception e1 2.獲取螢幕的尺寸 dime...
經驗要積累 程式能執行
我覺得學好一門語言最重要的就是實踐。也就是多 寫 工程經驗之積累 對已具有一段開發時間的程式設計師而言,非常重要!只有在不斷的積累中,我們才能漸漸體會到c 語言中的一些背後的東西。對於這點,沒有大量程式 寫作經驗的菜鳥,也可以借助 effective c 先攢一些經驗值。寫程式首先希望是程式能正確執...
JAVA 正則注意點
1.貪婪與非貪婪模 非貪婪模式 匹配字元越少越好 修飾匹配次數的特殊符號後再加上乙個 號 a d b 匹配整個表示式後,再進行非貪婪模式 d 直接試非貪婪模式 貪婪模式 預設,d 至少匹配一次 非貪婪模式 d 最少匹配次數,即1次 2.方向引用 方向引用 nnn 每一對 會分配乙個編號,使用 的捕獲...