最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java老手該當心的13個錯誤

 更新時間:2015年04月25日 20:43:29   投稿:mdxy-dxy  
這篇文章主要介紹了Java老手該當心的13個錯誤,需要的朋友可以參考下

生產(chǎn)過程中出現(xiàn)的問題正逐漸得到中層和最高管理層的重視。不管是身為開發(fā)人員還是架構(gòu)師,下列的事項都應(yīng)該得到你足夠的重視以避免陷入未來的尷尬境地。你也可以把它作為排查問題的便簽。

#1、不在屬性文件或 XML 文件中外化配置屬性。比如,沒有把批處理使用的線程數(shù)設(shè)置成可在屬性文件中配置。你的批處理程序無論在 DEV 環(huán)境中,還是 UAT(用戶驗收測試)環(huán)境中,都可以順暢無阻地運行,但是一旦部署在 PROD 上,把它作為多線程程序處理更大的數(shù)據(jù)集時,就會拋出 IOException,原因可能是 JDBC 驅(qū)動版本不同,也可能是#2 中討論的問題。如果線程數(shù)目可以在屬性文件中配置,那么使它成為一個單線程應(yīng)用程序就變得十分容易了。我們不再需要為了解決問題而反復地部署和測試應(yīng)用了。這種方法也同樣適用于配置 URL、服務(wù)器和端口號等。

#2、測試中使用的數(shù)據(jù)集規(guī)模不合適。比如,生產(chǎn)過程中一個典型的場景就是只使用 1 到 3 個賬戶進行測試,而這個數(shù)量本應(yīng)是 1000 到 2000 個的。在做性能測試時,使用的數(shù)據(jù)必須是真實并且未經(jīng)裁剪的。不貼近真實環(huán)境的性能測試,可能會帶來不可預料的性能、拓展和多線程問題。只有使用更大規(guī)模的數(shù)據(jù)集對應(yīng)用程序進行測試,才能保證它正常運行并滿足非功能屬性的 SLAs(服務(wù)水平標準)。

#3、天真地認為應(yīng)用程序中所調(diào)用的外部和內(nèi)部服務(wù)是可靠的,并且是始終可用的。不允許出現(xiàn)服務(wù)調(diào)用超時和重試,將會對應(yīng)用程序的穩(wěn)定性和性能造成不利地影響。需要進行適當?shù)姆?wù)中斷測試。這一點十分重要,因為如今的應(yīng)用程序多是分布式并且面向服務(wù)的,都需要大量的網(wǎng)絡(luò)服務(wù)。無限地請求不可用的服務(wù)會損害應(yīng)用程序。也需要對負載均衡器進行測試,以確保它能正常工作,使每個節(jié)點達到平衡。

#4、沒有遵循最低限度的安全要求。正如上文提到,網(wǎng)絡(luò)服務(wù)隨處可見,從而使得黑客可以輕易地利用它進行拒絕服務(wù)攻擊。所以,在使用安全套接層時,必須完成基本的驗證并使用 Google skipfish 等工具進行滲透測試。不安全的應(yīng)用程序不僅會威脅其自身穩(wěn)定性,還可能會因為數(shù)據(jù)完整性問題對公司的聲譽造成負面影響,例如出現(xiàn)了客戶 “A”可以瀏覽客戶“B”數(shù)據(jù)的情況。

#5、沒有進行跨瀏覽器的兼容性測試。如今的網(wǎng)絡(luò)應(yīng)用程序多是豐富的單頁應(yīng)用程序,它們使用 JavaScript 編程語言以及 angular js 這樣的框架。為了使你建設(shè)的網(wǎng)站能夠流暢地運行于不同的設(shè)備和瀏覽器之間,必須實現(xiàn)與之對應(yīng)的設(shè)計。所以為了確保你的應(yīng)用程序可以適用于所有設(shè)備和瀏覽器,必須對其進行兼容性測試。

#6、沒有外化可能經(jīng)常發(fā)生變化的商業(yè)規(guī)則。例如稅法、政府或行業(yè)相關(guān)要求、分類法等??梢允褂孟?Drools 這樣的引擎來處理商業(yè)規(guī)則,它幫助你通過存入數(shù)據(jù)庫或 excel 的形式,來外化這些商業(yè)規(guī)則。企業(yè)掌握了這些商業(yè)規(guī)則,就能以最少的變化和測試完成對稅法或相關(guān)要求地快速反應(yīng)。

#7、沒有提供下列文檔

  1. 編寫單元測試文檔并使其擁有良好的代碼覆蓋率。
  2. 集成測試。
  3. 一個綜合的或者百科全書式的頁面列出了所有的軟件構(gòu)件,比如類、腳本、配置文件等,而這些構(gòu)件要么是被修改了的,要么是新創(chuàng)建的。
  4. 高層次的概念圖描述了所有的組件,交互和結(jié)構(gòu)。
  5. 而基礎(chǔ)文檔則告訴開發(fā)者“如何結(jié)合數(shù)據(jù)源的詳細信息來搭建開發(fā)環(huán)境”。

除了 COS(滿足的條件)這種由 MindMap 創(chuàng)建的形式之外,敏捷開發(fā)中還有 1 和 2 這兩種主要的文檔形式。

#8、沒有適當?shù)臑?zāi)害恢復計劃以及系統(tǒng)監(jiān)視和歸檔策略。在項目截止日期來臨之際,常常因為急于部署項目而遺漏了這些事項。沒有通過 Nagios 和 Splunk 建立合適的系統(tǒng)監(jiān)視機制不僅會威脅到應(yīng)用程序的穩(wěn)定性,還會妨礙目前的診斷和將來的改進工作。

#9、沒有為數(shù)據(jù)庫表設(shè)計方便整理的列,比如 created_datetm、update_datetm、created_by、updated_by 和時間戳,也沒有提供有條理的刪除記錄列,如可以取‘Y'或‘N'的‘deleted'列或是可以取‘Active'或‘Inactive'的 ‘record_status'列。

#10、沒有制定適當?shù)幕爻酚媱潯?/strong>導致在系統(tǒng)發(fā)生故障時,沒有辦法將系統(tǒng)恢復到部署前的穩(wěn)定狀態(tài)。這個計劃需要反復推敲并有相關(guān)團隊簽字保證。計劃包括了,退回到軟件先前的版本,去除插入到數(shù)據(jù)庫中的所有數(shù)據(jù)以及屬性文件的所有條目。

#11、在項目開始前沒有制定能力計劃。現(xiàn)如今,在說明對平臺的要求時,僅僅說“需要一臺 Unix 計算機,一個 Oracle 數(shù)據(jù)庫服務(wù)器,一個 JBoss 應(yīng)用程序服務(wù)器”是遠遠不夠的。你的要求必須精確到

  • 操作系統(tǒng)的特定版本,JVM 等。
  • 有多少內(nèi)存(包括物理內(nèi)存,JVM 堆內(nèi)存,JVM 棧內(nèi)存和 JVM 永久代的空間)。
  • CPU(內(nèi)核數(shù))。
  • 負載均衡器,需要的節(jié)點數(shù)、節(jié)點類型,比如是 active/active 型還是 active/passive 型,以及聚類要求。
  • 文件系統(tǒng)要求,例如,你的應(yīng)用程序可能會收集生成的報告并將其保存一年,之后才進行歸檔。這樣的話,你就需要有足夠的硬盤空間。有些應(yīng)用程序要求產(chǎn)生數(shù)據(jù)提取文件,并將它們暫時儲存以供其他系統(tǒng)進程或數(shù)據(jù)倉庫系統(tǒng)用來做多維分析報告。還有些數(shù)據(jù)文件是基于安全文件傳輸協(xié)議的,它們或來自內(nèi)部系統(tǒng),或來自外部系統(tǒng),并且在歸檔前需要被保存 12 到 36 個月。

下面的#12來自“David DeCesare”發(fā)自“java.dzone”的評論,

#12、“不在工作時使用最好的工具”。很多情況下,開發(fā)者會在生產(chǎn)系統(tǒng)中使用一門想要學習的語言或某種工具。通常這不是最好的選擇。比如,為已經(jīng)實際上是關(guān)系型的數(shù)據(jù)使用NoSQL數(shù)據(jù)庫。請記住,無論你采用哪種工具,都需要在未來 3 到 5 年(甚至更長的時期)內(nèi)維護你的產(chǎn)品。

#13、在 16 個關(guān)鍵技術(shù)領(lǐng)域缺少充足的知識儲備。這些領(lǐng)域包括識別并修復1)“并發(fā)問題”、2)事務(wù)問題、3)性能問題。很多次面試中,我靠著這 3 個方面的知識拿到了新的合同。

相關(guān)文章

  • Java異常處理及自定義異常詳細指南

    Java異常處理及自定義異常詳細指南

    異常處理是Java編程中的一個重要部分,用于處理程序執(zhí)行中出現(xiàn)的異常情況,此外還可以自定義異常來處理特定的錯誤情況,掌握這些異常處理技術(shù)對于編寫健壯、可靠的Java程序至關(guān)重要,需要的朋友可以參考下
    2024-10-10
  • 關(guān)于java.math.BigDecimal比較大小問題

    關(guān)于java.math.BigDecimal比較大小問題

    這篇文章主要介紹了關(guān)于java.math.BigDecimal比較大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java中一個線程執(zhí)行死循環(huán)有什么后果

    Java中一個線程執(zhí)行死循環(huán)有什么后果

    這篇文章主要為大家詳細介紹了Java中一個線程執(zhí)行死循環(huán)有什么后果,當一個線程在執(zhí)行死循環(huán)時會影響另外一個線程嗎,下面為大家揭曉
    2016-05-05
  • 基于feign傳參MultipartFile問題解決

    基于feign傳參MultipartFile問題解決

    這篇文章主要介紹了基于feign傳參MultipartFile問題解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring?Security內(nèi)置過濾器的維護方法

    Spring?Security內(nèi)置過濾器的維護方法

    這篇文章主要介紹了Spring?Security的內(nèi)置過濾器是如何維護的,本文給我們分析一下HttpSecurity維護過濾器的幾個方法,需要的朋友可以參考下
    2022-02-02
  • SpringBoot項目中處理返回json的null值(springboot項目為例)

    SpringBoot項目中處理返回json的null值(springboot項目為例)

    本文以spring boot項目為例給大家介紹SpringBoot項目中處理返回json的null值問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下
    2019-10-10
  • 詳解Spring Boot 使用Spring security 集成CAS

    詳解Spring Boot 使用Spring security 集成CAS

    本篇文章主要介紹了詳解Spring Boot 使用Spring security 集成CAS,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Spring boot GC實現(xiàn)過程原理解析

    Spring boot GC實現(xiàn)過程原理解析

    這篇文章主要介紹了Spring boot GC實現(xiàn)過程原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Java并發(fā)編程中構(gòu)建自定義同步工具

    Java并發(fā)編程中構(gòu)建自定義同步工具

    這篇文章主要介紹了Java并發(fā)編程中構(gòu)建自定義同步工具,本文講解了可阻塞狀態(tài)依賴操作的結(jié)構(gòu)、有界緩存實現(xiàn)基類示例、阻塞實現(xiàn)方式一:拋異常給調(diào)用者、阻塞實現(xiàn)方式二:通過輪詢和休眠、阻塞實現(xiàn)方式三:條件隊列等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 搭建SpringBoot項目三種方式(圖文教程)

    搭建SpringBoot項目三種方式(圖文教程)

    Springboot作為當下最主流的java開發(fā)框架,已成為IT從業(yè)人員的入門必備技能,本文主要介紹了搭建SpringBoot項目三種方式,感興趣的可以了解一下
    2023-09-09

最新評論

洞口县| 弋阳县| 云梦县| 宜章县| 鹰潭市| 宜君县| 富锦市| 四平市| 闸北区| 望奎县| 常宁市| 苍梧县| 金寨县| 邵武市| 富川| 汕头市| 武宁县| 临桂县| 海南省| 长白| 伊宁县| 高青县| 昌平区| 中西区| 林口县| 长宁县| 庄浪县| 平定县| 湖口县| 建湖县| 五寨县| 和龙市| 兴宁市| 晋州市| 普洱| 焦作市| 札达县| 越西县| 阳山县| 灵璧县| 招远市|