1.java基礎java
1.1 Collection和Map
(1)掌握Collection和Map的繼承體系
(2)掌握ArrayList,LinkedList,Vector,Stack,PriorityQueue,HashSet,
LinkedHashSet,TreeSet,HashMap,LinkedHashMap,TreeMap,WeakHashMap,
EnumMap,TreeMap,HashTable的特色和實現原理。
(3)掌握CopyOnWriteArrayList,CopyOnWriteArraySet,ConcurrentHashMap的實現原理和適用場景。
1.2 IO
(1)掌握InputStream,OutputStream,Reader,Writer的繼承體系。
(2)掌握字節流(FileInputStream,DataInputStream,BufferInputStream,FileOutputStream,DataOutputStream,
BufferOutputStream)和字符流(BufferReader,InputStreamReader,FileReader,BufferedWriter,
OutputStreamWriter,PrintWriter,FileWriter),並熟練運用。
(3)掌握NIO實現原理及使用方法。web
1.3 異常
(1)掌握Throwable繼承體系。
(2)掌握異常工做原理。
(3)瞭解常見受檢異常,非受檢異常和錯誤。正則表達式
1.4 多線程
(1)掌握Executors能夠建立的三種(java8增長了一種,共四種)線程池的特色及適用範圍。
(2)掌握多線程同步機制,並熟練運用。算法
1.5 Socket
(1)掌握Socket通訊原理。
(2)熟練使用多線程結合Socket進行編程。數據庫
2.java虛擬機編程
2.1 JVM內存區域劃分
(1)掌握程序計數器、堆、虛擬機棧、本地方法棧、方法區(java8已移除)、元空間(java8新增)的做用及基本原理。
(2)掌握堆的劃分:新生代(Eden、Surviror一、Survivor2)和老年代的做用及工做原理。
(3)掌握JVM內存參數設置及調優。設計模式
2.2 類加載
(1)掌握類的加載階段:加載、連接(驗證、準備、解析)、初始化、使用、卸載。
(2)掌握類加載器分類及其應用:啓動類加載器、擴展類加載器、應用程序類加載器、自定義加載器。網絡
3.J2EE
(1)掌握JSP內置對象、動做及相關特色和工做原理。
(2)掌握Spring框架的IOC和AOP實現原理(反射和動態代理)。
(3)掌握Servlet的特色和工做原理。
(4)至少掌握一個MVC框架(Spring MVC,Struts等)的工做原理,並熟練運用。
(5)至少掌握一個ORM框架(Hibernate,MyBatis)的工做原理,並熟練運用。數據結構
4.數據結構與算法
(1)掌握線性表和樹的特色並熟練運用。
(2)掌握經常使用的排序和查找算法:插入排序(直接插入排序,希爾排序)、選擇排序(直接選擇排序、堆排序)、交換排序(冒泡排序、快速排序)
、歸併排序、順序查找、二分查找、哈希查找。
(3)熟練運用常見的排序和查找算法思想解決編程問題。
(4)瞭解幾大基本算法:貪心算法、分治策略、動態規劃。多線程
5.計算機網絡
(1)掌握網絡的分層結構,及每層的功能特色。
(2)掌握TCP/IP的通訊原理(三次握手、四次揮手)。
6.數據庫
(1)掌握複雜的SQL語句的編寫。
(2)掌握數據庫的優化(SQL層面和表設計層面)。
(3)至少掌握一款數據庫產品。
(4)熟悉高併發、大數據狀況下的數據庫的開發。
7.web技術
(1)掌握AJAX的工做原理。
(2)至少掌握一款JS框架(好比JQuery)。
8.設計模式
(1)熟悉常見的設計模式。
(2)會將設計模式理論應用到實際開發中。
9.Linux
(1)熟練運用Linux常見命令。
(2)熟悉Linux操做系統基本概念及特色。
(3)熟悉Shell腳本。
10.操做系統
(1)掌握操做系統的進程管理。
(2)瞭解操做系統的I/O。
11.正則表達式 (1)掌握常見正則表達式符號。 (2)熟練運用正則表達式解決實際問題(好比匹配電話號碼、郵箱、域名等)。