'Java進階之路300集——從初級程序員到架構師,從小工到專家'

"
"
Java進階之路300集——從初級程序員到架構師,從小工到專家

怎樣學習才能從一名Java初級程序員成長為一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之後開始迷茫的老程序員經常會問到的問題。希望這篇文章會是你看到過的最全面最權威的回答。

一: 編程基礎

不管是C還是C++,不管是Java還是PHP,想成為一名合格的程序員,基本的數據結構和算法基礎還是要有的。下面幾篇文章從思想到實現,為你梳理出常用的數據結構和經典算法。

1-1 常用數據結構

數組、鏈表、堆、棧、隊列、Hash表、二叉樹等

1-2 算法思想

算法時間複雜度和空間複雜度的分析計算

算法思想:遞推、遞歸、窮舉、貪心、分治、動態規劃、迭代、分枝界限

1-3 經典算法

經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合併排序

經典查找:順序查找、二分查找、二叉排序樹查找

1-4 高級數據結構

B+/B-數、紅黑樹、圖等

1-5 高級算法

圖的深度優先搜索、圖的廣度優先搜索、拓撲排序、Dijkstra算法(單源最短路徑)、霍夫曼編碼、輾轉相除法、最小生成樹等

"
Java進階之路300集——從初級程序員到架構師,從小工到專家

怎樣學習才能從一名Java初級程序員成長為一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之後開始迷茫的老程序員經常會問到的問題。希望這篇文章會是你看到過的最全面最權威的回答。

一: 編程基礎

不管是C還是C++,不管是Java還是PHP,想成為一名合格的程序員,基本的數據結構和算法基礎還是要有的。下面幾篇文章從思想到實現,為你梳理出常用的數據結構和經典算法。

1-1 常用數據結構

數組、鏈表、堆、棧、隊列、Hash表、二叉樹等

1-2 算法思想

算法時間複雜度和空間複雜度的分析計算

算法思想:遞推、遞歸、窮舉、貪心、分治、動態規劃、迭代、分枝界限

1-3 經典算法

經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合併排序

經典查找:順序查找、二分查找、二叉排序樹查找

1-4 高級數據結構

B+/B-數、紅黑樹、圖等

1-5 高級算法

圖的深度優先搜索、圖的廣度優先搜索、拓撲排序、Dijkstra算法(單源最短路徑)、霍夫曼編碼、輾轉相除法、最小生成樹等

Java進階之路300集——從初級程序員到架構師,從小工到專家

誕生不過二十餘年的Java語言憑藉其跨平臺、面向對象、適合於分佈式計算的特性,廣泛應用於Web網站、移動設備、桌面應用中,並且已經連續多年穩居TOBIE編程語言排行榜前列,最近更是登上冠軍寶座。Java有哪些優秀而又與眾不同的地方首先一定要清楚。

2-1 基礎語法

Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,各種基本數據類型及包裝類

2-2 重要:集合類

Collection以及各種List、Set、Queue、Map的實現以及集成關係,實現原理

Collections和Arrays

2-3 其他JavaAPI

String和StringBuffer,System和Runtime類,Date和DateFomat類

java.lang包

java.util包(集合類體系、規則表達式、zip,以及時間、隨機數、屬性、資源和Timer等)

java.math包

http://java.NET包

java.text包(各種格式化類等)

java.security包

2-4 面向對象、面向接口

對象的三大特性:封裝、繼承和多態,優缺點

如何設計類,類的設計原則

this關鍵字,final關鍵字,static關鍵字

對象的實例化過程

方法的重寫和重載;方法和方法的參數傳遞過程

構造函數

內部類,抽象類,接口

對象的多態性(子類和父類之間的轉換、父類紙箱子類的引用),抽象類和接口在多態中的應用

2-5 JVM內存模型、垃圾回收

2-6 關於異常

Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,異常的捕捉和拋出,異常捕捉的原則,finally的使用

2-7 多線程

線程和進程的概念

如何在程序中創建多線程,線程安全問題,線程之間的通訊

線程的同步

死鎖問題的剖析

線程池

2-8 IO

http://java.io包,理解IO體系的基於管道模型的設計思路以及常用IO類的特性和使用場合。

File及相關類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應緩衝流和管道流,字節和字符的轉化流,包裝流,以及常用包裝類使用

分析IO性能

2-9XML

熟悉SAX、DOM以及JDOM的優缺點並且能夠使用其中的一種完成XML的解析及內容處理;這幾種解析方法的原理

2-10 一些高級特性

反射、代理、泛型、枚舉、Java正則表達式

2-11 網絡編程

網絡通信協議原理及適用場景,Socket編程,WEB服務器的工作原理

2-11 JDK1.5、JDK1.6、JDK1.7、JDK1.8每個版本都比前面一個版本添加了哪些新特性,進行了哪些提升

"
Java進階之路300集——從初級程序員到架構師,從小工到專家

怎樣學習才能從一名Java初級程序員成長為一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之後開始迷茫的老程序員經常會問到的問題。希望這篇文章會是你看到過的最全面最權威的回答。

一: 編程基礎

不管是C還是C++,不管是Java還是PHP,想成為一名合格的程序員,基本的數據結構和算法基礎還是要有的。下面幾篇文章從思想到實現,為你梳理出常用的數據結構和經典算法。

1-1 常用數據結構

數組、鏈表、堆、棧、隊列、Hash表、二叉樹等

1-2 算法思想

算法時間複雜度和空間複雜度的分析計算

算法思想:遞推、遞歸、窮舉、貪心、分治、動態規劃、迭代、分枝界限

1-3 經典算法

經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合併排序

經典查找:順序查找、二分查找、二叉排序樹查找

1-4 高級數據結構

B+/B-數、紅黑樹、圖等

1-5 高級算法

圖的深度優先搜索、圖的廣度優先搜索、拓撲排序、Dijkstra算法(單源最短路徑)、霍夫曼編碼、輾轉相除法、最小生成樹等

Java進階之路300集——從初級程序員到架構師,從小工到專家

誕生不過二十餘年的Java語言憑藉其跨平臺、面向對象、適合於分佈式計算的特性,廣泛應用於Web網站、移動設備、桌面應用中,並且已經連續多年穩居TOBIE編程語言排行榜前列,最近更是登上冠軍寶座。Java有哪些優秀而又與眾不同的地方首先一定要清楚。

2-1 基礎語法

Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,各種基本數據類型及包裝類

2-2 重要:集合類

Collection以及各種List、Set、Queue、Map的實現以及集成關係,實現原理

Collections和Arrays

2-3 其他JavaAPI

String和StringBuffer,System和Runtime類,Date和DateFomat類

java.lang包

java.util包(集合類體系、規則表達式、zip,以及時間、隨機數、屬性、資源和Timer等)

java.math包

http://java.NET包

java.text包(各種格式化類等)

java.security包

2-4 面向對象、面向接口

對象的三大特性:封裝、繼承和多態,優缺點

如何設計類,類的設計原則

this關鍵字,final關鍵字,static關鍵字

對象的實例化過程

方法的重寫和重載;方法和方法的參數傳遞過程

構造函數

內部類,抽象類,接口

對象的多態性(子類和父類之間的轉換、父類紙箱子類的引用),抽象類和接口在多態中的應用

2-5 JVM內存模型、垃圾回收

2-6 關於異常

Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,異常的捕捉和拋出,異常捕捉的原則,finally的使用

2-7 多線程

線程和進程的概念

如何在程序中創建多線程,線程安全問題,線程之間的通訊

線程的同步

死鎖問題的剖析

線程池

2-8 IO

http://java.io包,理解IO體系的基於管道模型的設計思路以及常用IO類的特性和使用場合。

File及相關類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應緩衝流和管道流,字節和字符的轉化流,包裝流,以及常用包裝類使用

分析IO性能

2-9XML

熟悉SAX、DOM以及JDOM的優缺點並且能夠使用其中的一種完成XML的解析及內容處理;這幾種解析方法的原理

2-10 一些高級特性

反射、代理、泛型、枚舉、Java正則表達式

2-11 網絡編程

網絡通信協議原理及適用場景,Socket編程,WEB服務器的工作原理

2-11 JDK1.5、JDK1.6、JDK1.7、JDK1.8每個版本都比前面一個版本添加了哪些新特性,進行了哪些提升

Java進階之路300集——從初級程序員到架構師,從小工到專家

三:數據庫相關

前面說到了數據結構,數據庫簡單來說就像是電子化的檔案櫃,是按照一定的數據結構來組織、存儲和管理數據的倉庫。

3-1理論基礎

數據庫設計原則和範式

事務(ACID、工作原理、事務的隔離級別、鎖、事務的傳播機制)

3-2 各種數據庫優缺點、使用場景分析

MySQL/SQLServer/Oracle以及各種NoSQL(Redis、MongoDB、Memcached、Hbase、CouchDB等)

3-2 SQL語句

數據庫創建,權限分配,表的創建,增刪改查,連接,子查詢

觸發器、存儲過程、事務控制

3-3 優化

索引原理及適用,大表查詢優化,多表連接查詢優化,子查詢優化等

3-4 分庫、分表、備份、遷移

導入、導出,分庫、分表,冷備熱備,主從備份、雙機熱備、縱向擴展、橫向擴展

3-5 JDBC

JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同類的使用

連接池(配置使用、實現原理)

ORM,DAO

"
Java進階之路300集——從初級程序員到架構師,從小工到專家

怎樣學習才能從一名Java初級程序員成長為一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之後開始迷茫的老程序員經常會問到的問題。希望這篇文章會是你看到過的最全面最權威的回答。

一: 編程基礎

不管是C還是C++,不管是Java還是PHP,想成為一名合格的程序員,基本的數據結構和算法基礎還是要有的。下面幾篇文章從思想到實現,為你梳理出常用的數據結構和經典算法。

1-1 常用數據結構

數組、鏈表、堆、棧、隊列、Hash表、二叉樹等

1-2 算法思想

算法時間複雜度和空間複雜度的分析計算

算法思想:遞推、遞歸、窮舉、貪心、分治、動態規劃、迭代、分枝界限

1-3 經典算法

經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合併排序

經典查找:順序查找、二分查找、二叉排序樹查找

1-4 高級數據結構

B+/B-數、紅黑樹、圖等

1-5 高級算法

圖的深度優先搜索、圖的廣度優先搜索、拓撲排序、Dijkstra算法(單源最短路徑)、霍夫曼編碼、輾轉相除法、最小生成樹等

Java進階之路300集——從初級程序員到架構師,從小工到專家

誕生不過二十餘年的Java語言憑藉其跨平臺、面向對象、適合於分佈式計算的特性,廣泛應用於Web網站、移動設備、桌面應用中,並且已經連續多年穩居TOBIE編程語言排行榜前列,最近更是登上冠軍寶座。Java有哪些優秀而又與眾不同的地方首先一定要清楚。

2-1 基礎語法

Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,各種基本數據類型及包裝類

2-2 重要:集合類

Collection以及各種List、Set、Queue、Map的實現以及集成關係,實現原理

Collections和Arrays

2-3 其他JavaAPI

String和StringBuffer,System和Runtime類,Date和DateFomat類

java.lang包

java.util包(集合類體系、規則表達式、zip,以及時間、隨機數、屬性、資源和Timer等)

java.math包

http://java.NET包

java.text包(各種格式化類等)

java.security包

2-4 面向對象、面向接口

對象的三大特性:封裝、繼承和多態,優缺點

如何設計類,類的設計原則

this關鍵字,final關鍵字,static關鍵字

對象的實例化過程

方法的重寫和重載;方法和方法的參數傳遞過程

構造函數

內部類,抽象類,接口

對象的多態性(子類和父類之間的轉換、父類紙箱子類的引用),抽象類和接口在多態中的應用

2-5 JVM內存模型、垃圾回收

2-6 關於異常

Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,異常的捕捉和拋出,異常捕捉的原則,finally的使用

2-7 多線程

線程和進程的概念

如何在程序中創建多線程,線程安全問題,線程之間的通訊

線程的同步

死鎖問題的剖析

線程池

2-8 IO

http://java.io包,理解IO體系的基於管道模型的設計思路以及常用IO類的特性和使用場合。

File及相關類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應緩衝流和管道流,字節和字符的轉化流,包裝流,以及常用包裝類使用

分析IO性能

2-9XML

熟悉SAX、DOM以及JDOM的優缺點並且能夠使用其中的一種完成XML的解析及內容處理;這幾種解析方法的原理

2-10 一些高級特性

反射、代理、泛型、枚舉、Java正則表達式

2-11 網絡編程

網絡通信協議原理及適用場景,Socket編程,WEB服務器的工作原理

2-11 JDK1.5、JDK1.6、JDK1.7、JDK1.8每個版本都比前面一個版本添加了哪些新特性,進行了哪些提升

Java進階之路300集——從初級程序員到架構師,從小工到專家

三:數據庫相關

前面說到了數據結構,數據庫簡單來說就像是電子化的檔案櫃,是按照一定的數據結構來組織、存儲和管理數據的倉庫。

3-1理論基礎

數據庫設計原則和範式

事務(ACID、工作原理、事務的隔離級別、鎖、事務的傳播機制)

3-2 各種數據庫優缺點、使用場景分析

MySQL/SQLServer/Oracle以及各種NoSQL(Redis、MongoDB、Memcached、Hbase、CouchDB等)

3-2 SQL語句

數據庫創建,權限分配,表的創建,增刪改查,連接,子查詢

觸發器、存儲過程、事務控制

3-3 優化

索引原理及適用,大表查詢優化,多表連接查詢優化,子查詢優化等

3-4 分庫、分表、備份、遷移

導入、導出,分庫、分表,冷備熱備,主從備份、雙機熱備、縱向擴展、橫向擴展

3-5 JDBC

JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同類的使用

連接池(配置使用、實現原理)

ORM,DAO

Java進階之路300集——從初級程序員到架構師,從小工到專家

四:JavaWeb核心技術(包括部分前端)

HTML5/Css/js原生/jQuery

Ajax(跨域等)

JSP/JavaBean/Servlet/EL/JSTL/TabLib

JSF

JSON

EJB

序列化和反序列化

規則引擎

搜索引擎

模板引擎

緩存

身份認證

測試

集群

持久化

生成靜態頁技術

高性能

安全

事務JTA

其他需要了解的,如:管理JMX、安全JCCA/JAAS、集成JCA、通信JNDI/JMS/JavaMain/JAF、SSI技術

五、主流框架及工具

Struts1/Struts2

spring(IoC、AOP等),SpringMVC

持久化:hibernate/MyBatis

日誌:Log4j

單元測試:JUnit

消息隊列:ActiveMQ、RabbitMQ等

負載均衡:Nginx/HaProxy

Web服務器:Tomcat、JBoss、Jetty、Resin、WebLogic、WebSphere等

通信:WebService(cxf的soap、restful協議)

緩存:redis、Memcached

工作流:Activity、JBPM

搜索引擎:lucene,基於lucene封裝的solr

模板引擎:Velocity、FreeMaker

大數據:Hadoop(HDFS和MapReduce)

構建工具:Ant/Maven

"
Java進階之路300集——從初級程序員到架構師,從小工到專家

怎樣學習才能從一名Java初級程序員成長為一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之後開始迷茫的老程序員經常會問到的問題。希望這篇文章會是你看到過的最全面最權威的回答。

一: 編程基礎

不管是C還是C++,不管是Java還是PHP,想成為一名合格的程序員,基本的數據結構和算法基礎還是要有的。下面幾篇文章從思想到實現,為你梳理出常用的數據結構和經典算法。

1-1 常用數據結構

數組、鏈表、堆、棧、隊列、Hash表、二叉樹等

1-2 算法思想

算法時間複雜度和空間複雜度的分析計算

算法思想:遞推、遞歸、窮舉、貪心、分治、動態規劃、迭代、分枝界限

1-3 經典算法

經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合併排序

經典查找:順序查找、二分查找、二叉排序樹查找

1-4 高級數據結構

B+/B-數、紅黑樹、圖等

1-5 高級算法

圖的深度優先搜索、圖的廣度優先搜索、拓撲排序、Dijkstra算法(單源最短路徑)、霍夫曼編碼、輾轉相除法、最小生成樹等

Java進階之路300集——從初級程序員到架構師,從小工到專家

誕生不過二十餘年的Java語言憑藉其跨平臺、面向對象、適合於分佈式計算的特性,廣泛應用於Web網站、移動設備、桌面應用中,並且已經連續多年穩居TOBIE編程語言排行榜前列,最近更是登上冠軍寶座。Java有哪些優秀而又與眾不同的地方首先一定要清楚。

2-1 基礎語法

Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,各種基本數據類型及包裝類

2-2 重要:集合類

Collection以及各種List、Set、Queue、Map的實現以及集成關係,實現原理

Collections和Arrays

2-3 其他JavaAPI

String和StringBuffer,System和Runtime類,Date和DateFomat類

java.lang包

java.util包(集合類體系、規則表達式、zip,以及時間、隨機數、屬性、資源和Timer等)

java.math包

http://java.NET包

java.text包(各種格式化類等)

java.security包

2-4 面向對象、面向接口

對象的三大特性:封裝、繼承和多態,優缺點

如何設計類,類的設計原則

this關鍵字,final關鍵字,static關鍵字

對象的實例化過程

方法的重寫和重載;方法和方法的參數傳遞過程

構造函數

內部類,抽象類,接口

對象的多態性(子類和父類之間的轉換、父類紙箱子類的引用),抽象類和接口在多態中的應用

2-5 JVM內存模型、垃圾回收

2-6 關於異常

Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,異常的捕捉和拋出,異常捕捉的原則,finally的使用

2-7 多線程

線程和進程的概念

如何在程序中創建多線程,線程安全問題,線程之間的通訊

線程的同步

死鎖問題的剖析

線程池

2-8 IO

http://java.io包,理解IO體系的基於管道模型的設計思路以及常用IO類的特性和使用場合。

File及相關類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應緩衝流和管道流,字節和字符的轉化流,包裝流,以及常用包裝類使用

分析IO性能

2-9XML

熟悉SAX、DOM以及JDOM的優缺點並且能夠使用其中的一種完成XML的解析及內容處理;這幾種解析方法的原理

2-10 一些高級特性

反射、代理、泛型、枚舉、Java正則表達式

2-11 網絡編程

網絡通信協議原理及適用場景,Socket編程,WEB服務器的工作原理

2-11 JDK1.5、JDK1.6、JDK1.7、JDK1.8每個版本都比前面一個版本添加了哪些新特性,進行了哪些提升

Java進階之路300集——從初級程序員到架構師,從小工到專家

三:數據庫相關

前面說到了數據結構,數據庫簡單來說就像是電子化的檔案櫃,是按照一定的數據結構來組織、存儲和管理數據的倉庫。

3-1理論基礎

數據庫設計原則和範式

事務(ACID、工作原理、事務的隔離級別、鎖、事務的傳播機制)

3-2 各種數據庫優缺點、使用場景分析

MySQL/SQLServer/Oracle以及各種NoSQL(Redis、MongoDB、Memcached、Hbase、CouchDB等)

3-2 SQL語句

數據庫創建,權限分配,表的創建,增刪改查,連接,子查詢

觸發器、存儲過程、事務控制

3-3 優化

索引原理及適用,大表查詢優化,多表連接查詢優化,子查詢優化等

3-4 分庫、分表、備份、遷移

導入、導出,分庫、分表,冷備熱備,主從備份、雙機熱備、縱向擴展、橫向擴展

3-5 JDBC

JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同類的使用

連接池(配置使用、實現原理)

ORM,DAO

Java進階之路300集——從初級程序員到架構師,從小工到專家

四:JavaWeb核心技術(包括部分前端)

HTML5/Css/js原生/jQuery

Ajax(跨域等)

JSP/JavaBean/Servlet/EL/JSTL/TabLib

JSF

JSON

EJB

序列化和反序列化

規則引擎

搜索引擎

模板引擎

緩存

身份認證

測試

集群

持久化

生成靜態頁技術

高性能

安全

事務JTA

其他需要了解的,如:管理JMX、安全JCCA/JAAS、集成JCA、通信JNDI/JMS/JavaMain/JAF、SSI技術

五、主流框架及工具

Struts1/Struts2

spring(IoC、AOP等),SpringMVC

持久化:hibernate/MyBatis

日誌:Log4j

單元測試:JUnit

消息隊列:ActiveMQ、RabbitMQ等

負載均衡:Nginx/HaProxy

Web服務器:Tomcat、JBoss、Jetty、Resin、WebLogic、WebSphere等

通信:WebService(cxf的soap、restful協議)

緩存:redis、Memcached

工作流:Activity、JBPM

搜索引擎:lucene,基於lucene封裝的solr

模板引擎:Velocity、FreeMaker

大數據:Hadoop(HDFS和MapReduce)

構建工具:Ant/Maven

Java進階之路300集——從初級程序員到架構師,從小工到專家

六、JavaWeb系統設計與架構

Java設計模式

JAVA與UML建模

面向服務架構:SOA/SCA/ESB/OSGI/EAI,微服務

面向資源架構:ROA/REST

面向雲架構:COA/Saas/雲計算

大型網站負載均衡、系統調優等

"
Java進階之路300集——從初級程序員到架構師,從小工到專家

怎樣學習才能從一名Java初級程序員成長為一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之後開始迷茫的老程序員經常會問到的問題。希望這篇文章會是你看到過的最全面最權威的回答。

一: 編程基礎

不管是C還是C++,不管是Java還是PHP,想成為一名合格的程序員,基本的數據結構和算法基礎還是要有的。下面幾篇文章從思想到實現,為你梳理出常用的數據結構和經典算法。

1-1 常用數據結構

數組、鏈表、堆、棧、隊列、Hash表、二叉樹等

1-2 算法思想

算法時間複雜度和空間複雜度的分析計算

算法思想:遞推、遞歸、窮舉、貪心、分治、動態規劃、迭代、分枝界限

1-3 經典算法

經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合併排序

經典查找:順序查找、二分查找、二叉排序樹查找

1-4 高級數據結構

B+/B-數、紅黑樹、圖等

1-5 高級算法

圖的深度優先搜索、圖的廣度優先搜索、拓撲排序、Dijkstra算法(單源最短路徑)、霍夫曼編碼、輾轉相除法、最小生成樹等

Java進階之路300集——從初級程序員到架構師,從小工到專家

誕生不過二十餘年的Java語言憑藉其跨平臺、面向對象、適合於分佈式計算的特性,廣泛應用於Web網站、移動設備、桌面應用中,並且已經連續多年穩居TOBIE編程語言排行榜前列,最近更是登上冠軍寶座。Java有哪些優秀而又與眾不同的地方首先一定要清楚。

2-1 基礎語法

Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,各種基本數據類型及包裝類

2-2 重要:集合類

Collection以及各種List、Set、Queue、Map的實現以及集成關係,實現原理

Collections和Arrays

2-3 其他JavaAPI

String和StringBuffer,System和Runtime類,Date和DateFomat類

java.lang包

java.util包(集合類體系、規則表達式、zip,以及時間、隨機數、屬性、資源和Timer等)

java.math包

http://java.NET包

java.text包(各種格式化類等)

java.security包

2-4 面向對象、面向接口

對象的三大特性:封裝、繼承和多態,優缺點

如何設計類,類的設計原則

this關鍵字,final關鍵字,static關鍵字

對象的實例化過程

方法的重寫和重載;方法和方法的參數傳遞過程

構造函數

內部類,抽象類,接口

對象的多態性(子類和父類之間的轉換、父類紙箱子類的引用),抽象類和接口在多態中的應用

2-5 JVM內存模型、垃圾回收

2-6 關於異常

Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,異常的捕捉和拋出,異常捕捉的原則,finally的使用

2-7 多線程

線程和進程的概念

如何在程序中創建多線程,線程安全問題,線程之間的通訊

線程的同步

死鎖問題的剖析

線程池

2-8 IO

http://java.io包,理解IO體系的基於管道模型的設計思路以及常用IO類的特性和使用場合。

File及相關類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應緩衝流和管道流,字節和字符的轉化流,包裝流,以及常用包裝類使用

分析IO性能

2-9XML

熟悉SAX、DOM以及JDOM的優缺點並且能夠使用其中的一種完成XML的解析及內容處理;這幾種解析方法的原理

2-10 一些高級特性

反射、代理、泛型、枚舉、Java正則表達式

2-11 網絡編程

網絡通信協議原理及適用場景,Socket編程,WEB服務器的工作原理

2-11 JDK1.5、JDK1.6、JDK1.7、JDK1.8每個版本都比前面一個版本添加了哪些新特性,進行了哪些提升

Java進階之路300集——從初級程序員到架構師,從小工到專家

三:數據庫相關

前面說到了數據結構,數據庫簡單來說就像是電子化的檔案櫃,是按照一定的數據結構來組織、存儲和管理數據的倉庫。

3-1理論基礎

數據庫設計原則和範式

事務(ACID、工作原理、事務的隔離級別、鎖、事務的傳播機制)

3-2 各種數據庫優缺點、使用場景分析

MySQL/SQLServer/Oracle以及各種NoSQL(Redis、MongoDB、Memcached、Hbase、CouchDB等)

3-2 SQL語句

數據庫創建,權限分配,表的創建,增刪改查,連接,子查詢

觸發器、存儲過程、事務控制

3-3 優化

索引原理及適用,大表查詢優化,多表連接查詢優化,子查詢優化等

3-4 分庫、分表、備份、遷移

導入、導出,分庫、分表,冷備熱備,主從備份、雙機熱備、縱向擴展、橫向擴展

3-5 JDBC

JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同類的使用

連接池(配置使用、實現原理)

ORM,DAO

Java進階之路300集——從初級程序員到架構師,從小工到專家

四:JavaWeb核心技術(包括部分前端)

HTML5/Css/js原生/jQuery

Ajax(跨域等)

JSP/JavaBean/Servlet/EL/JSTL/TabLib

JSF

JSON

EJB

序列化和反序列化

規則引擎

搜索引擎

模板引擎

緩存

身份認證

測試

集群

持久化

生成靜態頁技術

高性能

安全

事務JTA

其他需要了解的,如:管理JMX、安全JCCA/JAAS、集成JCA、通信JNDI/JMS/JavaMain/JAF、SSI技術

五、主流框架及工具

Struts1/Struts2

spring(IoC、AOP等),SpringMVC

持久化:hibernate/MyBatis

日誌:Log4j

單元測試:JUnit

消息隊列:ActiveMQ、RabbitMQ等

負載均衡:Nginx/HaProxy

Web服務器:Tomcat、JBoss、Jetty、Resin、WebLogic、WebSphere等

通信:WebService(cxf的soap、restful協議)

緩存:redis、Memcached

工作流:Activity、JBPM

搜索引擎:lucene,基於lucene封裝的solr

模板引擎:Velocity、FreeMaker

大數據:Hadoop(HDFS和MapReduce)

構建工具:Ant/Maven

Java進階之路300集——從初級程序員到架構師,從小工到專家

六、JavaWeb系統設計與架構

Java設計模式

JAVA與UML建模

面向服務架構:SOA/SCA/ESB/OSGI/EAI,微服務

面向資源架構:ROA/REST

面向雲架構:COA/Saas/雲計算

大型網站負載均衡、系統調優等

Java進階之路300集——從初級程序員到架構師,從小工到專家

七、More

排錯能力:

應該可以根據異常信息比較快速的定位問題的原因和大致位置

優化能力

代碼規範、代碼管理:

有自己的代碼規範體系,代碼可讀性好

知識面廣:

懂各種網絡產品及特性,懂各種中間件,能夠知道坑在哪兒,深諳各種技術方案的優缺點,懂整合各種資源並達到最優....瞭解各種技術及應用場景,有足夠的工作經驗解決集成中遇到的各種奇葩問題

技術管理/技術總監:

產品管理、項目管理、團隊建設、團隊提升

免費領取方式:

  1. 右上角點擊關注
  2. 評論區任意評論或者轉發一下
  3. 做完1、2步,私信回覆關鍵字“java”
  4. 私信不要多字,不要少字,不要錯字,私信方法:點擊我頭像,進入主頁面,右上角有私信功能,在關注的上方位置。
"

相關推薦

推薦中...