天天看點

如何學習 Java | 學習筆記

開發者學堂課程【Java 面試疑難點串講1:面試技巧及語言基礎:如何學習 Java】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/24/detail/522

如何學習 Java

内容介紹

一、課程學習順序

一、   課程學習順序

到底 Java 該怎麼學習?

實際上随着時間的推移會發現,所需要的技術點是越來越多了。

Java 有着非常龐大的内容,因為現在的 Java 的應用越來越廣泛,在實際的所有的項目開發之中,放眼你能見到的大型項目,基本上都有 Java。

Java 的發展如果要從實際的開發來講,可以勝任所有,但是看該如何進行選擇。

·Java 的核心本質在于 MVC 設計模式上;但是在現實的開發之中,如果以理想狀态為例:

-JSP、Servlet 是技術的實作本質,但是這種開發模式過于瑣碎;

-那麼在實際的工作裡面就需要将這些瑣碎的内容進行重新組合,提供一個個具體的工具,而這些就是開發架構的作用;

·本質技術:

-JSP、HTML、CSS、javaScript:這些内容是進行前端開發的;标準的前端開發需要三位人:

-前段UI設計:一定要會使用 AI,設計美工,美工設計完成的圖,需要轉換為 HTML、CSS

-前端工程師:javaScript 程式設計、所有的頁面的動态效果,例如:動态加載、一些 DOM 處理操作;

-WEB(JSP、PHP、Node.JS)工程師:是負責伺服器端生成代碼的部分。

-控制層:實際上也屬于前端 WEB 開發人員的職責;

-業務層:是完全見不到前端代碼的,它在進行設計的時候往往隻會考慮操作的本質;

如果以實際的開發為例,你們所應該考慮的是業務層的實作,但是這樣的工作往往會出現在極大的開發公司中。

但是我們肯定要掌握全能技術。

第一階段:基礎階段,在實際的面試之中,70%的題目都從這裡出;

·SQL 語句:查詢、更新、建表、限制、存儲過程;。

·Java 基礎:基礎文法大家都知道(資料類型、if..else、while、for,别搞複雜的)、面向對象(接口、抽象類)、常用類庫、Java 類集、Java io、JDBC、DAO 設計模式。

·JSP 開發:JSP+DAO、MVC 開發(EL、JSTL)。.

·自我總結:驗證自己基礎階段過關:單表 CRUD 前端使用JS驗證)+分頁(如果有本事,分頁自己寫)+上傳,做到不用思考,直接寫代碼,你需要不斷來發現開發中出現的問題。

-對于軟體的開發而言,最為重要的部分就是進行偷懶,重複代碼的設計解決。

-觀察問題的兩個點:時間複雜度、空間複雜度。

第二階段:中級開發階段,主要是針對于代碼的設計進行完善;

性能: Ajax 這種異步的處理操作,可以提升頁面執行效果,由于 Ajax 技術出現,真正出現了WEB2.0的時代,也就出現大資料的時代;

·XML 與 DOM 解析,掌握了 DOM 解析,才掌握了 JS;

·jQuery 開發架構:簡化所有的代碼開發,隐藏了所有的複雜的 DOM 處理過程、JSONP;

JSON 資料操作:清楚 JSON 與 XML 的差別,以及 JSON 的使用;

·選學:HTML、GIT、SVN、Maven;

·自我檢測:單表 CRUD,想辦法使用 jQuery +JSON 簡化 Ajax 異步操作,如果可能自己實作無重新整理 CRUD,繼續觀察代碼有哪些問題。

第三階段:架構開發,完全是針對于控制層、業務層、資料層的改善;

做代碼時要清楚以下幾點:

·Struts 2.x ( Struts 1.x選學):

控制器、攔截器、實作原理,如果有時間可以與 Struts 1.x進行一個合理的比較;本質上所代替的隻能夠是一個控制器,也就是說此時業務層和資料層的問題都沒有正常解決;

·Hibernate:解決資料層開發設計、單表 CRUD、一對多、多對多、緩存、一定要可以了解 Hibernate 原理分析,可是也一定要清楚 Hibernate 可能存在的性能問題是如何産生的,以及 Hibernate 本身的缺陷;

·Spring:IOC 與 AOP(資源、表達式)、SSH 整合,并且可以使用 SSH 整合進行項目開發;

·MyBatis:要清楚 MyBatis 開發的好處,以及與 Hibernate 的差別;

·Spring MVC:清楚的認識到與 Struts 2.x 的實作差別。

·Spring MVC + MyBatis 的開發與 SSH 整合的開發都必須掌握。