程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java 開辟的幾個留意點總結

Java 開辟的幾個留意點總結

編輯:關於JAVA

Java 開辟的幾個留意點總結。本站提示廣大學習愛好者:(Java 開辟的幾個留意點總結)文章只能為提供參考,不一定能成為您想要的結果。以下是Java 開辟的幾個留意點總結正文


1. 將一些須要更改的設置裝備擺設寫在屬性文件中

好比,沒有把一些須要並發履行時應用的線程數設置成可在屬性文件中設置裝備擺設。那末你的法式不管在DEV情況中,照樣TEST情況中,都可以順暢無阻地運轉,然則一旦安排在PROD上,把它作為多線程法式處置更年夜的數據集時,就會拋出IOException,緣由或許是線上情況並發形成或許是其他。假如線程數量可以在屬性文件中設置裝備擺設,那末使它成為一個單線程運用法式就變得非常輕易了。我們不再須要為懂得決成績而重復地安排和測試運用了。這類辦法也異樣實用於設置裝備擺設 URL、辦事器和端標語等。

這裡推舉應用屬性文件外化這些設置裝備擺設,文件格局應用properties、yaml、hocon、json都可以。上面的類完成了對這些格局的文件的spring注入支撐,包含占位符支撐。

https://github.com/superhj1987/awesome-libs/blob/master/src/main/java/me/rowkey/libs/spring/config/AwesomePropertyPlaceholderConfigurer.java

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. 制訂好體系的安排籌劃。

體系安排的平台是一個相當主要的部門。關於安排平台的描寫,不克不及僅限於一台辦事器、兩個數據庫這個層面,至多須要包含

  1. 操作體系的特定版本,JVM等。
  2. 有若干內存(包含物理內存,JVM堆內存,JVM棧內存和JVM永遠代的空間)。
  3. CPU(內核數)。
  4. 負載平衡器,須要的節點數、節點類型,好比是Active-Standby型照樣Active-Active型。
  5. 文件體系請求,例如,你的運用法式能夠會搜集生成的日記並將其保留很長的周期,以後才停止歸檔。如許的話,你就須要有足夠的硬盤空間。
  6. 11. 選擇最適合的對象/技巧

    許多情形下,開辟者會在臨盆體系中應用一門想要進修的說話或某種對象。平日這不是最好的選擇。好比,為曾經現實上是關系型的數據應用NoSQL數據庫。不論是說話照樣對象,都有其實用的場景。不克不及求新,也不克不及以“自我”為尺度。

    12. 在一些症結技巧范疇具有充分的常識貯備。

    設計形式
    JVM調優
    多線程“並提問題”
    事務成績,包含散布式事務
    機能成績,包含GC、盤算等
    緩存

     經由過程此文願望能贊助開辟Java 法式的同伙,感謝年夜家對本站的支撐!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved