更多課程 選擇中心
        Java培訓

        400-111-8989

        Java培訓 > Java教程  > 正文

        12大要點讓你的Java開發所向披靡~

        • 發布:Java培訓
        • 來源:Java教程
        • 時間:2018-05-31 11:35

        12大要點讓你的Java開發所向披靡~

        本文是為大家整理的Java開發過程中的注意要點,幫助大家在遇到類似問題時有章可循,在你的開發路上走的更順。

        1將一些需要變動的配置寫在屬性文件中

        比如,沒有把一些需要并發執行時使用的線程數設置成可在屬性文件中配置。那么你的程序無論在DEV環境中,還是TEST環境中,都可以順暢無阻地運行,但是一旦部署在PROD上,把它作為多線程程序處理更大的數據集時,就會拋出IOException,原因也許是線上環境并發造成也許是其他。

        如果線程數目可以在屬性文件中配置,那么使它成為一個單線程應用程序就變得十分容易了。我們不再需要為了解決問題而反復地部署和測試應用了。這種方法也同樣適用于配置 URL、服務器和端口號等。

        這里推薦使用屬性文件外化這些配置,文件格式使用properties、yaml、hocon、json都可以。下面的類實現了對這些格式的文件的spring注入支持,包括占位符支持。

        2測試中盡可能模擬線上環境

        生產過程中一個典型的場景就是只使用1到3個帳戶進行測試,而這個數量本應是1000到2000個的。在做性能測試時,使用的數據必須是真實并且未經裁剪的。不貼近真實環境的性能測試,可能會帶來不可預料的性能、拓展和多線程問題。這里也可以采取預發布環境的方式來解決部分問題。

        3對于外部調用及內部服務都要做容錯處理

        不管是RPC調用還是對于第三方服務的調用,都不能想當然的認為可用性是100%的。不允許出現服務調用超時和重試,將會對應用程序的穩定性和性能造成不利的影響。

        4安全設計上一個系統要遵循最小權限原則

        網絡服務隨處可見,從而使得黑客可以輕易地利用它進行拒絕服務攻擊。所以,設計系統時,需要遵循“最小權限”原則,采用白名單等方式。

        5需要提供以下文檔

        編寫單元測試文檔并使其擁有良好的代碼覆蓋率。

        高層次的設計圖:描述了所有的組件,交互和結構。

        詳細的設計圖:具體到代碼層面的設計,以及一些關鍵邏輯的流程。

        系統組成文檔:說明系統的所有組成文件、配置文件等。

        數據庫層面的dml以及ddl文檔,尤其是sql查詢語句需要經過dba或者核心開發人員的review才能夠上線。

        不僅僅對于傳統的開發流程,即使對于敏捷開發,這些文檔也是必不可少的,否則在后續的維護、交接上會帶來很大的不便。

        6做好系統關鍵功能的監控、錯誤恢復、備份

        對于系統一些至關重要的功能模塊要做好對其的監控,防止其影響系統的運行,造成不可估算的損失。另外,如果可以,監控到故障后去去試圖恢復,恢復失敗再發送告警。對于一些很重要的數據文件,還要做到冗余備份,防止發生一些突然故障造成數據丟失。

        7數據庫設計一些便于追蹤歷史、整理的列

        比如create_time、update_time可以說明記錄的創建和更新時間。create_by、update_by可以說明記錄是由誰創建和更新的。

        此外,刪除記錄有時候并非真正刪除,這時需要設計表示此記錄狀態的列,如可以取‘Active’或‘Inactive’的 ‘status’列。

        8制定好項目回滾計劃

        新的功能上線時,如果發生故障,沒有一份回滾計劃,那么可能會手忙腳亂而造成線上服務一段時間不可用。有一個良好的回滾計劃,可以讓你能夠有條不紊的執行相關操作,在可控時間內將系統恢復到一個可運行的狀態。

        9項目上線前要做好量化分析

        對于項目中用到的內存、數據庫、文件、緩存等,要做好量化分析。預估出未來一段時間的空間占用,給運維分配機器時一個參考。防止,由于數據量增長過快,導致存儲不夠。這一點是非常重要的,不然很容易造成線上服務不可用。

        10制定好系統的部署計劃

        系統部署的平臺是一個至關重要的部分。對于部署平臺的描述,不能僅限于一臺服務器、兩個數據庫這個層面,至少需要包括:

        操作系統的特定版本,JVM等。

        有多少內存(包括物理內存,JVM堆內存,JVM棧內存和JVM永久代的空間)。

        CPU(內核數)。

        負載均衡器,需要的節點數、節點類型,比如是Active-Standby型還是Active-Active型。

        文件系統要求,例如,你的應用程序可能會收集生成的日志并將其保存很長的周期,之后才進行歸檔。這樣的話,你就需要有足夠的硬盤空間。

        11選擇最合適的工具/技術

        很多情況下,開發者會在生產系統中使用一門想要學習的語言或某種工具。通常這不是最好的選擇。比如,為已經實際上是關系型的數據使用NoSQL數據庫。不管是語言還是工具,都有其適用的場景。不能求新,也不能以“自我”為標準。

        12在一些關鍵技術領域具有充足的知識儲備

        設計模式

        JVM調優

        多線程“并發問題”

        事務問題,包括分布式事務

        性能問題,包括GC、計算等

        緩存

        感謝大家閱讀由Java教程分享的“12大要點讓你的Java開發所向披靡~”希望對大家有所幫助,更多精彩內容請關注京城辦官網

        免責聲明:本文由小編轉載自網絡,旨在分享提供閱讀,版權歸原作者所有,如有侵權請聯系我們進行刪除

        預約申請免費試聽課

        填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

        上一篇:學習Java最好的12本免費在線電子書
        下一篇:分布式之消息隊列復習精講
        12大要點讓你的Java開發所向披靡~

        12大要點讓你的Java開發所向披靡~

        學習Java最好的12本免費在線電子書

        學習Java最好的12本免費在線電子書

        Java常用日志框架介紹

        Java常用日志框架介紹

        一篇文章了解RPC框架原理

        一篇文章了解RPC框架原理

        • 掃碼領取資料

          回復關鍵字:視頻資料

          免費領取 達內課程視頻學習資料

        • 視頻學習QQ群

          添加QQ群:1143617948

          免費領取達內課程視頻學習資料

        Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        貴州省

        福建省

        • 達內廈門軟件園中心
        廣西省

        海南省

        国产高清情侣视频2019年,限制电影福利在线观看,23伊人大香蕉 百度 好搜 搜狗
        <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>