目錄:
1、Java基礎html
2、JavaEE基礎前端
3、JavaEE進階git
4、數據庫web
5、數據結構&算法redis
6、高級(服務器)算法
1、Java基礎
1.1 面向對象(封裝、繼承、多態)
- 訪問權限修飾符(public,protect,default,private)做用域;
- 方法重寫、重載的概念和區別;
- 抽象類和接口區別;類是單繼承,接口是多實現·····;
- 代碼塊執行順序:靜態代碼塊->構造代碼塊->構造方法;
- Object類經常使用方法:hashCode,equals,toString,wait,notify,notifyAll;
- String,StringBuffer,StingBuild各包含哪些方法,三者區別;
1.2 集合
1.2.1 集合框架
![](http://static.javashuo.com/static/loading.gif)
圖1-1 集合框架mongodb
1.2.2 各種集合特色
- List集合:有序,元素可重複;
- Set集合:無序,元素惟一;
- List和Set集合皆可經過for循環、for-each、Iterator迭代器遍歷。
- Map集合:以key-value形式存儲元素,無迭代器,遍歷時經過轉Set集合遍歷;
- Map集合轉Set集合:方法一:使用keySet方法;方法二:使用entrySet方法。
- hashtable實現原理:底層由數組+鏈表實現,有一個叫table的Entry類型數組,索引由鏈表存放。
1.3 IO流
1.3.1 IO流框架
![](http://static.javashuo.com/static/loading.gif)
圖1-2 IO流框架shell
1.3.2 IO流分類
- BIO方式(同步阻塞),適用於鏈接數目比較小且固定的架構,這種方式對服務器資源要求比較高,併發侷限於應用中,JDK1.4之前的惟一選擇,但程序直觀簡單易理解。
- NIO方式(同步非阻塞),適用於鏈接數目多且鏈接比較短(輕操做)的架構,好比聊天服務器,併發侷限於應用中,編程比較複雜,JDK1.4開始支持。
- AIO方式(異步非阻塞),使用於鏈接數目多且鏈接比較長(重操做)的架構,好比相冊服務器,充分調用OS參與併發操做,編程比較複雜,JDK7開始支持。
1.4 反射
- 獲取class的三種方法:class.forName("類名");類名.class;對象名.getClass()。
2、JavaEE基礎
2.1 JSP&Servlet相關知識點
- 詳見:https://www.cnblogs.com/guoxh/p/6532923.html
2.2 EL&JSTL
- 詳見:http://www.cnblogs.com/guoxh/p/7586856.html
2.3 Session&Cookie
2.4 Filter&Listener
3、JavaEE進階
3.1 經常使用框架(重點)
3.1.1 Struts&SpringMVC
3.1.2 Spring
![](http://static.javashuo.com/static/loading.gif)
圖3-1 SpringFramework數據庫
- IOC(控制反轉),DI(依賴注入)。
- AOP(面向切面編程),jdbcTemplate。
- 事務管理。
- 核心容器
- Beans
- Core
- Context
- Expression Language
3.1.3 Hibernate&Mybatis
- Hibernate核心API
- Configuration
- SessionFactory
- Session
- Query
- Transaction
3.1.4 SSM整合
![](http://static.javashuo.com/static/loading.gif)
圖3-2 SSM工做流程編程
3.1.5 前端框架
3.2 多線程(重點)
- Java多線程實現方法:Runnable、Thread;
- Java內存模型是什麼?
- JVM原理;
- 線程通訊&線程同步(webservice服務);
- Java中Runnable和Callable有什麼不一樣?
- Java中的volatile 變量是什麼?
- Java中堆和棧有什麼不一樣?
- 什麼是線程池? 爲何要使用它?
- Java線程池中submit()和 execute()方法有什麼區別?
3.3 設計模式(重點)
3.4 Socket網絡編程
3.4.1 TCP
- 面向鏈接,安全可靠,效率低;
- 如何理解三次握手;
- 短鏈接 & 長鏈接;
3.4.2 UDP
3.5 Java垃圾回收機制GC(重點)
3.5.1內存泄漏
3.6 JVM原理(重點)
4、數據庫
4.1 數據庫基本操做
- 數據庫的建立和刪除;
- 表的建立、修改和刪除;
- 表中數據的增、刪,改,查;
- 複製表結構;
- 索引的分類,索引能提升查詢效率的原理;
4.2 事務
4.2.1 事務四大特性(ACID)
- A原子性:事務是一個最小的單元,不可再分。
- C一致性:事務中的全部操做或者所有起做用,或者所有失效,不存在部分起做用,部分不起做用的狀況。
- I隔離性:事務之間相互隔離,彼此相互獨立。
- D持久性:事務對數據庫的操做會反映到數據庫中。
4.2.2 事務的隔離級別
- read uncommitted:一個事務能夠讀取另外一個事務未提交的數據,這個數據被稱爲髒數據。
- read committed:其餘事務頻繁地提交數據,另個事務(時間跨度大)在未提交以前屢次讀取提交的數據,可能出現屢次讀取的數據不一致。
- repeatable read:事務首次從數據庫中讀取數據,而後將數據保存在內存中,之後不是從數據庫,而是從內存中讀取數據。這種隔離級別可能致使讀取的數據與數據庫中數據不一致,出現「幻讀」。
- serializable:一個事務操做完數據之後,其餘事務才能夠操做。
詳見:http://www.cnblogs.com/guoxh/p/7686657.html
4.3 數據庫鏈接池
4.4 存儲過程&觸發器、
4.5 數據庫索引
4.5.1 索引分類
4.5.2 索引類型
4.6 具體數據庫
4.6.1 關係型數據庫
4.6.2 非關係型數據庫NoSQL(重點)
- 特色:高併發,高可用,高可擴展,大數據存儲;
- redis
- 1)Redis數據類型:String,List,Set,Zset;
- 2)Redis事務管理
- Redis支持事務,可是不支持回滾,通常在不怎麼考慮事務的狀況下使用Redis。
- 使用命令Watch實現相似回滾效果。
- 命令MULTI:開啓事務;EXEC:執行事務隊列。
- discard命令清空事務隊列。
- 3)Redis實現持久化的兩種方式
Redis會將數據集的快照dump到dump.rdb文件中。此外,咱們也能夠經過配置文件來修改Redis服務器dump快照的頻率,在打開6379.conf文件以後,咱們搜 索save,能夠看到下面的配置信息:
save 900 1 #在900秒(15分鐘)以後,若是至少有1個key發生變化,則dump內存快照。
save 300 10 #在300秒(5分鐘)以後,若是至少有10個key發生變化,則dump內存快照。
save 60 10000 #在60秒(1分鐘)以後,若是至少有10000個key發生變化,則dump內存快照。
在Redis的配置文件中存在三種同步方式,它們分別是:
appendfsync always #每次有數據修改發生時都會寫入AOF文件。
appendfsync everysec #每秒鐘同步一次,該策略爲AOF的缺省策略。
appendfsync no #從不一樣步。高效可是數據不會被持久化。
-
- 4)Redis經常使用命令
- MULTI:開啓事務;EXEC:執行事務隊列。
- SET:設置String類型key;LPUSH:設置List類型key;SADD:設置Set類型key;ZADD:設置ZSet類型key。
5、數據結構&算法
5.1 數據結構
5.1.1 集合結構
5.1.2 線性結構
- 線性表->順序表&鏈表
- 棧(Stack)
- 隊列
- 數組&廣義表
- 串
5.1.3 樹形結構
5.1.4 圖狀結構
5.2 算法
- 選擇排序
- 冒泡排序
- 快速排序
- 二分法查找
- 順序查找
- ···
6、高級
6.1 shell編程
6.1.1 瞭解經常使用的Linux命令
6.1.2 熟悉在Linux上部署項目
- 如何將JavaWeb項目部署到Linux服務器上:https://blog.csdn.net/gulu_gulu_jp/article/details/50994003 / https://www.cnblogs.com/jxgapyw/p/6082451.html
6.2 Java開發工具
- Eclipse
- git/svn
- Maven
- Myeclipse
- IDEA
6.3 服務器(重點)
6.4 高併發&大數據處理-解決方案(重點)
集羣的主要是IT公司在作,能夠保障重要數據安全;負載均衡主要是爲了分擔訪問量,避免臨時的網絡堵塞,主要用於電子商務類型的網站;分佈式服務器主要是解決跨區域,多個單個節點達到高速訪問的目前,通常是相似CDN的用途的話,會採用分佈式服務器。分佈式是指將不一樣的業務分佈在不一樣的地方,集羣指的是將幾臺服務器集中在一塊兒,實現同一業務。在現有網絡結構之上,負載均衡提供了一種廉價有效的方法擴展服務器帶寬和增長吞吐量,增強網絡數據處理能力,提升網絡的靈活性和可用性。
- 分佈式集羣
- 緩存
- 負載均衡
- SQL優化
- 數據庫分庫分表(MyCat)
6.5 異常處理機制
6.5.1 拋異常
6.5.2 捕獲異常