from: Java開發必須要知道的知識體系


from:  https://zhuanlan.zhihu.com/p/21895647

 

作者:靳洪飛
鏈接:https://zhuanlan.zhihu.com/p/21895647
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

Java

Java是超高人氣編程語言,擁有跨平台、面向對象、泛型編程等特性。在TIOBE編程語言排行榜中,連續奪得第一寶座,而且國內各大知名互聯網公司,后端開發首選語言:非Java莫屬。今天只是梳理下Java知識體系,后續會針對各類目有更詳細的經驗分享。

知識體系

JDK

IDE

  • IntelliJ IDEA: - URL: - 推薦指數: 5星 - 評價: JetBrains公司旗下有很多非常棒的IDE,例如PHP開發:PHPStorm,Python開發:Pycharm等,用了很多年的Eclipse,后來發現IDEA,如獲至寶,果斷放棄了Eclipse,並在團隊中分享,技術同學都切到IntelliJ IDEA,用過的都說好,具體咋好,自己去體驗吧!

    • URL:

    • 評價:最流行的Java開發IDE,國內很多團隊使用MyEclipse,基於EclipseIDE的擴展,集成了很多插件,功能也很強大,非開源,收費。 MyEclipse的URL:

    • Eclipse

Web服務器

  • Apache

  • Nginx

    • URL:

    • 說明: 輕量級Web服務器、反向代理服務器,Nginx相較於 Apache、lighttpd 具有占有內存少,穩定性高,並發能力強等優勢,豐富的模塊庫以及友好靈活的配置而聞名。

  • Tomcat

    • URL:

    • 說明: Tomcat是應用(java)服務器,它只是一個servlet容器,是Apache的擴展。

  • Jetty

    • URL:

    • 說明: Jetty 是一個開源的servlet容器,它為基於Java的web容器,例如JSP和servlet提供運行環境,相對於Tomcat,更輕量級,更靈活,擴展性好。

    • 備注: 關於tomcat 與 nginx,apache的區別,參見知乎上的一篇文章:

構建工具

框架

  • Spring Framework

    • URL:

    • 推薦指數: 5星

    • 說明: 學Java不知道Spring,沒用過Spring,那就太low了,DI、AOP、MVC、ORM這些概念自不必說,必須要學的,圍繞着Spring的生態圈很全,各種組件基本都已經齊備,結合自己的業務,做些擴展就run!

    • Github上各種Spring組件代碼:

  • Play!

    • URL:

    • 說明: Play!是在設計時考慮了可伸縮性的 新一代反應式 Web 框架,Play 還帶來了開發友好的特性,比如原生的 XML 和 JSON 處理,開發模式下的瀏覽器內錯誤報告,內置的測試幫助器,以及Selenium集成。

模版引擎

  • Thymeleaf

    • URL:

    • 說明: 支持用XML/XHTML/HTML5寫模版,用於Web與非Web環境中的應用開發。Spring Boot中推薦用Thymeleaf作為前端渲染模版引擎。

  • Velocity - URL: - 說明: 一個基於java的模板引擎,它允許任何人使用簡單但是強大的模板語言, 引用java代碼中的對象。

數據訪問

  • JPA

    • URL:

    • 說明: JPA是基於Hibernate的作的擴展,提供了簡單的編程模型,JPA定義了獨特的JPQL,不寫SQL文,就能進行簡單的進行數據CRUD操作。

  • MyBatis

    • URL:

    • 說明: MyBatis的前身就是iBatis,是一個數據持久層(ORM)框架,簡單易學,輕巧靈活,封裝了絕大多數的JDBC樣板代碼,使得開發者只需關注SQL本身。

日志

  • Logback

  • SLF4J

    • URL:

    • 說明: SLF4J是一個用於日志系統的簡單Facade,允許最終用戶在部署其應用時使用其所希望的日志系統,SLF4J提供了統一的記錄日志的接口,只要按照其提供的方法記錄即可,最終日志的格式、記錄級別、輸出方式等通過具體日志系統的配置來實現,因此可以在應用中靈活切換日志系統。

單元測試

代碼質量

JVM語言

  • Scala

    • URL:

    • 說明: Scala是一門現代的多范式編程語言,志在以簡練、優雅及類型安全的方式來表達常用編程模式。它平滑地集成了面向對象和函數語言的特性。

  • Groovy

    • URL:

    • 說明: Groovy是一種基於JVM(Java虛擬機)的敏捷開發語言,它結合了Python、Ruby和Smalltalk的許多強大的特性,Groovy 代碼能夠與Java代碼很好地結合,也能用於擴展現有代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM