1. 程式人生 > >java學習路線和知識圖譜

java學習路線和知識圖譜

輸入輸出 out shiro 掌握 sql入門 inux 源碼 瀏覽器 處理

1.計算機基礎:

1.1數據機構基礎:

主要學習:
1.向量,鏈表,棧,隊列和堆,詞典。熟悉
2.樹,二叉搜索樹。熟悉
3.圖,有向圖,無向圖,基本概念
4.二叉搜索A,B,C類熟練,9大排序熟悉。
5.樹的前中後,層次,之字,最短路。
6.KMP等字符串算法。

1.2操作系統:

主要學習:
1.進程,線程,進程線程區別。進程間通信
2.進程調度算法理解
3.存儲,虛擬內存,分頁分段,內存調度算法
4.文件系統,鏈式,索引
5.死鎖:原因,避免,解除k
6.Linux基本操作命令,會一門腳本編程:shell,Python

1.3計算機網絡:

主要學習:
1.網絡分層:五層,七層,四層等
2.網絡層:IP分類,子網劃分,超網。ARP協議,ICMP協議。理解內部網關和外部網關,vpn等
3.運輸層:端口,UDP協議理解,TCP協議理解,三次握手,四次斷開。
4.應用層:了解常用協議使用的端口和底層協議。
5.更加深入理解:TCP/IP 對擁塞控制,滑動窗口,如何實現可靠等。

1.4基礎算法:

主要學習:
1.理解大O等記號
2.動態規劃如:幾類背包問題最好有現成的代碼用於筆試。最長公共子序列
3.貪心算法:理解赫夫曼編碼(筆試常考概念)
4.B樹B+樹用於理解數據庫索引
5.常用的圖算法:廣度優先,深度優先,最短路徑算法(最好有現成的代碼),最小生成樹。

2.JAVA知識基礎:

2.1JAVA基礎

推薦書籍:編程思想
1.掌握java常用技術,io、多線程、反射、常用集合框架
2.對處理輸入輸出的IO進行熟悉,用於筆試
3.對Iterator,Iterable和Comparable,Comparator了解,以及常用集合的遍歷和排序。
4.對NIO一定要熟悉,以及了解JMS和RPC
5.對JAVA基礎概念要熟悉,比如抽象類和接口區別等,這些熟記。

2.2JAVA源碼

1.hashmap,hashtable,concurrentHashMap源碼以及區別
2.其他集合框架:linkedHashMap,LinkedHashSet,Copy-On-Write等
3.對Lock,Object,String等類的源碼了解。

2.3JAVA並發API

推薦書籍:應付筆試面試:JAVA多線程編程與核心技術。真正神書:JAVA並發編程實戰。

Synchronize 和 Lock 的區別與用法

2.wait()和await() notify()和signal(),wait()和sleep()區別與用法

3.其他的API用法:yield,join等

4.voliate深入理解,以及CAS理解

5.JAVA鎖底層實現:自旋鎖,阻塞鎖,可重入鎖,偏向鎖,等。

6.線程池和阻塞隊列

7.以及一些常用的並發實現案例如生產者和消費者

2.4理解JVM

推薦書籍:深入理解JAVA虛擬機

1.JAVA內存模型,哪個區域存放哪些內容

2.引用技術法和可達性分析法

3.對象的強、軟、弱和虛引用區別與作用

4.jvm垃圾回收機制,以及回收算法

5.常見的OOM和SOF的原因和解決方案,以及通過什麽工具進行分析。

6.常見的JVM輸入參數熟悉

7.了解GC停頓,逃逸分析,TLAB區,堆外內存等

8.常用垃圾收集器:G1,CMS等

9.了解常用性能監控工具:如visualvm jconsole等

10.必須熟悉虛擬機類加載機制,包括原理步驟,以及雙親委派方式的原理。

3.常規儲備知識學習

3.1數據庫:

推薦書籍:sql入門:Mysql必知必會。深入理解:高性能Mysql

1.常用關聯查詢語法,自己所動手寫幾個

2.數據庫索引深入認識和理解

3.JDBC學習

4.常用數據庫調優手段:比如通過索引調優

5.InnoDB和MyISAM 區別

6.了解主鍵,外鍵,索引,唯一索引

7.了解索引、視圖、觸發器、遊標和存儲過程

8.常用關系型數據庫和非關系型數據庫:關系型了解:Mysql,Oracle 非關系型了解:redis,Hbase,monogodb等

3.2設計模式:

推薦書籍:設計模式之禪

1.單例模式的幾種寫法一定要會

2.JDK中對應的設計模式:如IO中的裝飾模式和設配器模式等

3.框架中常用的設計模式:如Struts中的責任鏈模式,Spring中的工廠模式,動態代理模式等

4.了解6大設計原則

3.3HTTP協議:

推薦書籍:HTTP權威指南

1.什麽是HTTP,協議版本等

2.學會使用瀏覽器查看HTTP請求與響應

3.熟悉HTTP請求頭和請求體

4.熟悉HTTP響應頭和響應體

5.了解Rest風格

3.4神一般的Spring:

推薦書籍:Spring實戰和Spring技術內幕

1.了解IOC原理和作用

2.了解AOP原理和作用

3.常用的XML配置

4.Spring事務原理和使用

5.SpringMVC

6.了解Spring的webflow,遠程服務,rest,消息,安全等

7.新功能:Spring boot和cloud

4.後端學習之路

4.1WEB後端學習之路

推薦書籍:可以選擇一些SSH整合開發之類的

1.JSP和Servlet學習

2.XML和JSON解析學習

3.前端知識:HTML、css,js

4.JDBC學習,文件上傳\下載,JAVAMail等

5.可以利用jsp和Servlet開發簡單項目

6.接著框架學習:Struts2,Hibernate,Spring以及相互整合開發

7.接著可以了解:SpringMvc,Mybatis,Lucene,shiro等

8.利用框架實現簡單項目比如CMS。

4.2服務架構學習之路(此部分筆試面試不一定學習)

推薦書籍:分布式服務框架原理與實踐和微服務設計

1.了解SOA和微服務

2.負載均衡:LVS,NGINX等

3.RPC框架學習:RMI,Thrift等

4.消息框架學習:ActiveMq等

5.Netty通信框架學習

6.服務框架:dubbo

4.3Hadoop學習之路(此部分筆試面試不一定學習)

推薦書籍:Hadoop權威指南

1.熟悉mapReduce和HDfS

2.Hadoop集群搭建

3.了解:zk,hive,hbase,pig,mahout等

4.zk幾個常用作用如做註冊中心,放配置信息等。

技術分享

java學習路線和知識圖譜