零基礎也能學習JAVA的訣竅

網際網路發展發表於2016-04-25

很多JAVA自學者都會問:我應該怎麼學習,正確的學習方法是什麼?首先看看學習JAVA要掌握那些知識呢?

1、學習的基本路徑

首先建立好開發環境非常重要,工欲善其事,必先利其器。做任何開發,首先就是要把這個環境準備好,之後就可以去做各種嘗試,嘗試過程中就能逐漸建立信心。初學者往往在環境配置中被各種預想不到的問題弄得很沮喪。

建立起來環境了,改變世界就靠你的程式碼了。學習一門程式語言沒有太多的訣竅,你可能可以去找一本比較好的經典的入門書籍,現在網路上也有非常多的資料,圖文或者影片都可以,根據個人喜好選擇。最重要的練習,熟能生巧,在不斷的練習中去加深自己對程式語言的理解。

接下來你需要了解這三個術語,叫SDK、API跟Lib,分別表示軟體開發套件,應用程式設計介面和庫。這三者之間其實有一定的聯絡,或者是交叉。總體來說,它們都是給我們提供的一些封裝了底層功能的基礎設施。做Java開發的話,這些東西通常體現為我們所經常說的“框架”。事實上要成為一個資深的Java開發者,對各種API和框架的學習,可能是花時間最多的一個地方。

當然你也不可能把所有API或者SDK種的所有內容完全弄懂。在軟體開發中也有二八原則,少數的API能夠勝任開發中的大部分場景。所以你只需要掌握這些關鍵部分,當在新場景下遇到不能解決的新問題時,再去檢視幫助文件。所以幫助文件的閱讀也是技術學習的一個關鍵因素。瞭解了基礎原理之後一般就能上手開發了,幫助文件可以幫助你在實踐中學習。

2、三個神器

三個神器,對於軟體開發者來說非常重要。

  • 第一個Google,雖然因為各種原因的話有時候我們訪問不了,但是這基本上是可以去尋找技術資料最好的方式。
  • 第二個是Github,之前提到過庫的概念,Github就是一個可以找到大量第三方庫的地方,那是別人給我們封裝好的可以複用的程式碼。比方說造一輛汽車的話,我們經常不要自己造輪子,而Github上可以找到很多優質的輪子,這些輪子還是免費(程式碼都是開源的),我們應該儘量利用它們來拼裝自己的汽車。
  • 第三個是StackOverflow網站,在這個問答網站上你遇到的幾乎任何開發問題都能快速找到答案。
3、全棧開發的推薦學習內容
簡單總結一下,大概包括下面這些內容。每一部分都可以細化成很多知識點,這只是一個粗略的羅列。把它當做技術地圖就好了。
  • 開發環境的建立與專案管理: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)
  • 成熟應用的關鍵功能實現:郵件傳送、非同步任務、快取、日誌等
  • 應用的測試和部署
4、JSP/Servlet的相關內容
最後專門提一下JSP和Servlet,雖然現在各種成熟的MVC框架已經讓Java Web開發基本很少使用JSP和Servlet的原生功能了,基本都做了一層封裝。但是這部分基礎知識建議初學者還是要認真學習。
  • Web基礎,HTTP協議
    1. C/S模型,瀏覽器訪問網站過程
    2. URL基礎知識
    3. HTTP訊息——請求和響應
    4. 處理HTTP請求的應用程式
    5. Servlet/JSP簡介
  • Servlet
    1. Servlet容器,Servlet處理機制,Servlet生命週期
    2. 部署Servlet
    3. ServletContext, ServletConfig
    4. Filter, Event Listener
  • JSP
    1. 表示式,scriptlet, declaration
    2. 在JSP中訪問Java類
    3. JSP內建物件
  • 處理使用者輸入
    1. HTTP方法——GET v.s. POST
    2. 讀取表單資料
  • 構建MVC應用
    1. Servlets/JSP存在的問題
    2. MVC設計模式
    3. 使用RequestDispatcher
    4. 在Servlets和JSP中傳遞資料,EL表示式
  • 使用JSTL作為模板
    1. JSP Tag Lib
    2. Core Tag(if, loop)
    3. Function Tag(string, fmt, utils)
  • Session
  1. Session&&Cookie基本概念
  2. 透過Cookie記錄使用者狀態
  3. 使用Session跟蹤使用者
5、更進一步
分散式、深入Java虛擬機器、針對不同場景的框架,到這個階段已經不僅僅是Java的學習了,而是大型應用場景的技術積累、架構設計的精進了,感謝網友的思路分享,看到這裡是不是思路更清晰了呢?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30605389/viewspace-2088016/,如需轉載,請註明出處,否則將追究法律責任。

相關文章