不少JAVA自學者都會問:我應該怎麼學習JAVA,正確的學習方法是什麼?今天小編爲你們盤點一下:html
一、學習的基本路徑 前端
首先創建好開發環境很是重要,工欲善其事,必先利其器。作任何開發,首先就是要把這個環境準備好,以後就能夠去作各類嘗試,嘗試過程當中就能逐漸創建信心。初學者每每在環境配置中被各類預想不到的問題弄得很沮喪。web
創建起來環境了,改變世界就靠你的代碼了。學習一門編程語言沒有太多的訣竅,你可能能夠去找一本比較好的經典的入門書籍,如今網絡上也有很是多的資料,圖文或者視頻均可以,根據我的喜愛選擇。最重要的練習,熟能生巧,在不斷的練習中去加深本身對程序語言的理解。數據庫
接下來你須要瞭解這三個術語,叫SDK、API跟Lib,分別表示軟件開發套件,應用編程接口和庫。這三者之間其實有必定的聯繫,或者是交叉。整體來講,它們都是給咱們提供的一些封裝了底層功能的基礎設施。作Java開發的話,這些東西一般體現爲咱們所常常說的「框架」。事實上要成爲一個資深的Java開發者,對各類API和框架的學習,多是花時間最多的一個地方。編程
固然你也不可能把全部API或者SDK種的全部內容徹底弄懂。在軟件開發中也有二八原則,少數的API可以勝任開發中的大部分場景。因此你只須要掌握這些關鍵部分,當在新場景下遇到不能解決的新問題時,再去查看幫助文檔。因此幫助文檔的閱讀也是技術學習的一個關鍵因素。瞭解了基礎原理以後通常就能上手開發了,幫助文檔能夠幫助你在實踐中學習。設計模式
二、三個神器瀏覽器
三個神器,對於軟件開發者來講很是重要。緩存
第一個Google,雖然由於各類緣由的話有時候咱們訪問不了,可是這基本上是能夠去尋找技術資料最好的方式。網絡
第二個是Github,以前提到過庫的概念,Github就是一個能夠找到大量第三方庫的地方,那是別人給咱們封裝好的能夠複用的代碼。比方說造一輛汽車的話,咱們常常不要本身造輪子,而Github上能夠找到不少優質的輪子,這些輪子仍是免費(代碼都是開源的),咱們應該儘可能利用它們來拼裝本身的汽車。架構
第三個是StackOverflow網站,在這個問答網站上你遇到的幾乎任何開發問題都能快速找到答案。
三、Java Web全棧開發的推薦學習內容
簡單總結一下,大概包括下面這些內容。每一部分均可以細化成不少知識點,這只是一個粗略的羅列。把它當作技術地圖就行了。
開發環境的創建與項目管理:Eclipse、Maven和Git;
Java編程基礎:基本語法、面向對象特性、Java8新特性、更高級庫(好比Guava)的使用等;
前端開發技術:HTML、CSS、Bootstrap和JavaScript基礎;
Spring基礎:依賴注入IoC、面向切面編程AOP、SpringBoot;
MVC框架:Spring MVC、Struts等,包括URL路由、模板、表單、Session、攔截器等知識;
數據訪問:關係型數據庫、JDBC、Spring JDBC、事務、ORM框架(MyBatis,Hibernate、JPA);
成熟應用的關鍵功能實現:郵件發送、異步任務、緩存、日誌等;
應用的測試和部署。
四、JSP/Servlet的相關內容
最後專門提一下JSP和Servlet,雖然如今各類成熟的MVC框架已經讓Java Web開發基本不多使用JSP和Servlet的原生功能了,基本都作了一層封裝。可是這部分基礎知識建議初學者仍是要認真學習。
1、Web基礎,HTTP協議:
C/S模型,瀏覽器訪問網站過程
URL基礎知識
HTTP消息——請求和響應
處理HTTP請求的應用程序
Servlet/JSP簡介
2、Servlet
Servlet容器,Servlet處理機制,Servlet生命週期
部署Servlet
ServletContext, ServletConfig
Filter, Event Listener
3、JSP
表達式,scriptlet, declaration
在JSP中訪問Java類
JSP內置對象
4、處理用戶輸入
HTTP方法——GET v.s. POST
讀取表單數據
5、構建MVC應用
Servlets/JSP存在的問題
MVC設計模式
使用RequestDispatcher
在Servlets和JSP中傳遞數據,EL表達式
6、使用JSTL做爲模板
JSP Tag Lib
Core Tag(if, loop)
Function Tag(string, fmt, utils)
7、Session
Session&&Cookie基本概念
經過Cookie記錄用戶狀態
使用Session跟蹤用戶
五、更進一步
分佈式、深刻Java虛擬機、針對不一樣場景的Java技術框架,到這個階段已經不只僅是Java的學習了,而是大型應用場景的技術積累、架構設計的精進了,感謝網友的思路分享,看到這裏是否是思路更清晰了呢?