更新時間:2019-09-01 09:00:00 來源:動力節點 瀏覽2541次
現在互聯網上資源豐富,Java學習并不難。貼個Java服務端入門和進階指南,是給我們組新人入門用的,包括了學習目標、需要掌握的技能和參考資料,并規劃了學習階段和時間,希望幫助到題主。
前言
歡迎加入我們。這是一份針對實習生/畢業生的服務端開發入門與進階指南。建議:
盡量用google查找技術資料。
有問題在stackoverflow找找,大部分都已經有人回答。
多看官方的技術文檔。
ibmdeveloperworkers的文章質量整體上有保障。
平時花一些時間在github上閱讀優秀項目源碼。
入門(1-2個月)
目標:參與簡單的項目開發。
技能:
掌握Java。經典的《Java核心技術:卷1基礎知識》(或者《Java編程思想》)必看,跳過其中的圖形和applet章節。習慣查閱JavaAPIDoc。為了保證代碼的質量,《EffectiveJava》、《CleanCode》和《重構》也需要至少通讀一遍。
熟悉Linux開發環境和bashshell。Linux是我們的開發和部署環境,你最好盡快熟練它。Linux的基本使用可以通過《鳥哥的Linux私房菜:基礎學習篇(第三版)》學習,開發bashshell腳本可以參考《LinuxShell腳本攻略》。
掌握開發工具
熟練使用一種IDE。IntellijIDEA或者Eclipse都可以,推薦使用前者。至少熟悉常用的快捷鍵,會debug(包括遠程debug)項目。
熟悉一種編輯器。比如Vim/Emacs/SublimeText,至少學會搜索/替換/代碼補全。
掌握JDK以外的常用類庫和工具包。JDK原生API在很多場景下使用并不方便。你需要掌握社區貢獻的優秀類庫和工具包,比如apachecommons、googleguava等,具體可以翻閱服務端技術選型的Utility篇。
掌握Web開發框架。我們使用Spring(或Rose)+Ibatis(或Jade)開發web服務,你需要熟練掌握它們。
學習代碼規范。我們大致上遵循oracle的Java語言編碼規范,你可以先閱讀并熟悉它。CodeFormatting文件在git@xxx/coding-standard.git,在編寫代碼之前,請把它導入到IDE中。另外,確認IDE已經安裝Findbugs和CheckStyle插件。
熟悉開發流程。我們的開發流程大致如下:功能開發->單元測試->功能測試->CodeReview->集成測試->發布。確保你熟悉其中的每個環節。
其他。需要熟練使用版本控制工具Git(閱讀:《Git權威指南》),以及項目構建工具Maven(閱讀:《Maven實戰》)。另外,在這個階段可以嘗試TDD開發。
進階(2-6個月)
目標:獨立負責某個服務端項目。
技能:
掌握web開發最佳實踐,掌握RestfulAPI設計,理解Spring原理。推薦閱讀《Spring揭秘》。掌握項目分層、子模塊劃分。推薦閱讀:《J2EE核心模式》。
掌握web架構設計。包括Http反向代理,數據緩存,負載均衡,水平擴展和垂直擴展。推薦閱讀:《分布式Java應用:基礎與實踐》。
掌握關系型數據庫。包括設計MySQL表結構,根據業務特點分表分庫,基于執行計劃的SQL分析優化,以及數據庫容量規劃。推薦閱讀:《MySQL必知必會》、《高性能MySQL》。
了解NoSQL。我們大規模使用Hadoop、HBase、Hive,同時部分項目使用Redis、Storm。你需要學會這些工具最基本的使用。
學習web安全知識。了解web前端安全問題。設計安全web服務,包括加解密、防偽造、防重放攻擊等。
掌握Http(推薦閱讀:《圖解Http》、《http權威指南》)、Thrift等協議。
掌握服務容量規劃,性能調優,可靠性保證,以及故障處理。學習容量規劃和性能調優知識,梳理業務監控點,熟練使用我們的監控報警系統。推薦閱讀:《深入理解Java虛擬機》。
其他。設計模式:從項目中學習,有時間可以看看《深入淺出設計模式》、《JDK里的設計模式》。學習JavaSocket編程與多線程知識,可以看看《Java并發編程實戰》,并翻翻并發編程網的文章。
深入(6個月-)
目標:分布式系統和中間件開發。
構建知識體系:《大型網站系統與Java中間件實踐》、《大型網站技術架構:核心原理與案例分析》。
原理與設計:《大規模存儲式系統》、《UNIX網絡編程卷1:套接字聯網API》、《HowTomcatWorks》。
學習開源項目:ApacheThrift、Zipkin、Netty、Rose、Jade、淘寶RPC系統Dubbo等。分析項目中的設計思路。比如,同樣是RPC框架,Finagle和Dubbo有什么異同。
其他。根據參與的項目加深學習吧。比如,如果需要寫DSL,可以讀一下《領域特定語言》,對Redis感興趣推薦讀一下:《Redis設計與實現》。有兩本書,無論做什么項目,都推薦讀:《Unix編程藝術》、《UNIX環境高級編程(第3版)》。
以上就是對零基礎入門學習Java,一些書籍,學習方法,學習過程的一個簡單的介紹,希望對你們會有所幫助,如果你現在也在學習java,在入門學習java的過程當中有遇見任何行業或者說技術方面的問題,可以登錄動力節點IT培訓官網咨詢在線客服老師。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習