『壹』 java開發都需要學什麼
首先要明確後端包括哪些職業:DBA(資料庫維護優化專家),Developer(程序猿),Architect(構架師),Scrum master及類似(敏捷開發專家),Project Manager(產品狗),Maintenance&IT support(通訊和伺服器相關),當然這只是一個大致的分類,並沒有一個清晰的界限。
按程序猿內功而言:關系型資料庫,領域驅動設計(Domain-Driven Design),設計模式Design Pattern,演算法Algorithm,面向對象編程OOP(SOLID),線程安全,事件驅動,測試驅動開發,依賴注入框架,等等。
對於初學Java並且有志於後端開發的同學來說,需要重點關注以下幾個部分:
基礎:比如計算機系統、演算法、編譯原理等等
Web開發: 主要是Web開發相關的內容,包括HTML/CSS/js(前端頁面)、 Servlet/JSP(J2EE)以及MySQL(資料庫)相關的知識。它們的學習順序應該是從前到後,因此最先學習的應該是HTML/CSS/JS(前端頁面)。
J2EE:你需要學習的是Servlet/JSP(J2EE)部分,這部分是Java後端開發必須非常精通的部分,因此這部分是這三部分中最需要花精力的。關於Servlet/Jsp部分視頻的選擇,業界比較認可馬士兵的視頻。
最後一步,你需要學會使用資料庫,mysql是個不錯的入門選擇,而且Java領域里主流的關系型資料庫就是mysql。這部分一般在你學習Servlet/Jsp的時候,就會接觸到的,其中的JDBC部分就是資料庫相關的部分。你不僅要學會使用JDBC操作資料庫,還要學會使用資料庫客戶端工具,比如navicat,sqlyog,二選一即可。
開發框架:目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學會這三個框架的搭建,並用它們做出一個簡單的增刪改查的Web項目。你可以不理解那些配置都是什麼含義,以及為什麼要這么做,這些留著後面你去了解。但你一定要可以快速的利用它們三個搭建出一個Web框架,你可以記錄下你第一次搭建的過程,相信我,你一定會用到的。還要提一句的是,你在搭建SSM的過程中,可能會經常接觸到一個叫maven的工具。這個工具也是你以後工作當中幾乎是必須要使用的工具,所以你在搭建SSM的過程中,也可以順便了解一下maven的知識。在你目前這個階段,你只需要在網路上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經驗的增加,會逐漸接觸到的。
因此,你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。這些源碼能看懂的前提是,你必須對設計模式非常了解。否則的話,你看源碼的過程中,永遠會有這樣那樣的疑問,這段代碼為什麼要這么寫?為什麼要定義這個介面,它看起來好像很多餘?由此也可以看出,這些學習的過程是環環相扣的,如果你任何一個階段拉下來了,那麼你就真的跟不上了,或者說是一步慢步步慢。而且我很負責的告訴你,我在這個階段的時候,所學習的東西遠多於這里所羅列出來的。
總而言之,這個階段,你需要做的是深入了解Java底層和Java類庫(比如並發那本書就是Java並發包java.concurrent的內容),也就是JVM和JDK的相關內容。而且還要更深入的去了解你所使用的框架,方式比較推薦看源碼或者看官方文檔。
『貳』 求推薦JAVA入門書籍
1、《實戰Java程序設計》
這是一本既注重實戰,同時也注重底層「內功」訓練的書,非常適合初學者閱讀!
『叄』 程序員打基礎必看書籍
1、《實戰Java程序設計》
這是一本既注重實戰,同時也注重底層「內功」訓練的書,非常適合初學者閱讀!
2、《程序員修煉之道——從小工到專辯山家》
這本是指導程序員從低等級向高等級轉變的必要聖經。每一篇幅都需要仔細閱讀,深入思考,作者多年的經驗可以給我們在實際項目中處理給予很大的幫助。通過在實踐中亂灶悄,摸索,探討,最終都會發現很多問題都能在這本書找到最好的指導。
《重構:改善既有代碼的設計》,這本書確實牛掰,尤其適合當代程序員讀。近幾年軟體開發的門檻降低了很多,好多公司都因為初級程序員的存在累積了一大批shit一樣的代碼,重構也講技巧嘩渣和原則,不是單純地刪除重寫。看了幾頁就有收獲,推薦給各位開發的朋友,沒事兒讀讀,肯定有啟發。