java初學者只要掌握了以下十大原則,可以讓你的技術飆升
1. 將一些需要變動的配置寫在屬性檔案中
比如,沒有把一些需要併發執行時使用的執行緒數設定成可在屬性檔案中配置。那麼你的程式無論在DEV環境中,還是TEST環境中,都可以順暢無阻地執行,但是一旦部署在PROD上,把它作為多執行緒程式處理更大的資料集時,就會丟擲IOException,原因也許是線上環境併發造成也許是其他。
如果執行緒數目可以在屬性檔案中配置,那麼使它成為一個單執行緒應用程式就變得十分容易了。我們不再需要為了解決問題而反覆地部署和測試應用了。這種方法也同樣適用於配置URL、伺服器和埠號等。
這裡推薦使用屬性檔案外化這些配置,檔案格式使用properties、yaml、hocon、json都可以。
2. 測試中儘可能模擬線上環境
生產過程中一個典型的場景就是隻使用1到3個帳戶進行測試,而這個數量本應是1000到2000個的。
在做效能測試時,使用的資料必須是真實並且未經裁剪的。不貼近真實環境的效能測試,可能會帶來不可預料的效能、拓展和多執行緒問題。
3. 對於所有外部呼叫以及內部服務都要做容錯處理
不管是RPC呼叫還是對於第三方服務的呼叫,都不能想當然的認為可用性是百分之百的。
不允許出現服務呼叫超時和重試,將會對應用程式的穩定性和效能造成不利地影響。
4. 需要提供以下文件
編寫單元測試文件並使其擁有良好的程式碼覆蓋率。
高層次的設計圖:描述了所有的元件,互動和結構。
詳細的設計圖:具體到程式碼層面的設計
系統map(類似於site map):說明系統的所有組成檔案、配置檔案等。
5. 做好系統關鍵功能的監控、錯誤恢復、備份等
對於系統一些至關重要的功能模組要做好對其的監控,防止其影響系統的執行,造成不可估算的損失。
另外,如果可以,監控到故障後去去試圖恢復,恢復失敗再發送告警。對於一些很重要的資料檔案,還要做到冗餘備份,防止發生一些突然故障造成資料丟失。
6. 資料庫設計時設計一些便於追蹤歷史、整理的列
比如created_time、update_time可以說明記錄的建立和更新時間。;created_by、updated_by可以說明記錄是由誰建立和更新的。
此外,刪除記錄有時候並非真正刪除,這時需要設計表示此記錄狀態的列,如可以取'Y'或'N'的'deleted'列或是可以取'Active'或'Inactive'的'status'列。
7. 制定好專案回滾計劃
新的功能上線時,如果發生故障,沒有一份回滾計劃,那麼可能會手忙腳亂。有一個良好的回顧及計劃,可以讓你能夠有條不紊的執行相關操作,將系統恢復到一個可執行的狀態。
8. 專案上線前要做好量化分析
對於專案中用到的記憶體、資料庫、檔案、快取等,要做好量化分析。預估出未來一段時間的空間佔用,給運維分配機器時一個參考。防止,由於資料量增長過快,導致儲存不夠。
9. 選擇合適的工具/技術
很多情況下,開發者會在生產系統中使用一門想要學習的語言或某種工具。通常這不是很好的選擇。比如,為已經實際上是關係型的資料使用NoSQL資料庫。不管是語言還是工具,都有其適用的場景。
10. 在一些關鍵技術領域具有充足的知識儲備。
設計模式、JVM調優、多執行緒"併發問題"、事務問題,包括分散式事務、效能問題,包括GC、計算等、快取等等。
了讓學習變得輕鬆、高效,今天給大家免費分享一套Java入門教學資源。幫助大家在成為Java架構師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285,05736
