Java程序员必备知识点
数据结构:
一、基本数据结构
1.队列和栈的区别和常用操作
2.队列的实现方式(单向链表、双向链表)
3.基于队列的算法(主要是排序算法:归并排序,二分法插入排序可以做重点(这两个排序通常会被用来做动态有序队列的维护)。至于快速排序,基本上都用现成的程序库,不需要掌握)
4.图的基本概念 (有向图,无向图)
5.图的基本表达方法(邻接矩阵,链接表)
6.图的基本算法 a)最短路径Dijstra b)最小生成树 Prim
7.树的基本概念(二叉树,平衡树,森林)
8.树的基本表达方法
9. 树的相关算法
a) 遍历算法(深度优先、广度优先)构
b)平衡树(B树)
c)其他算法(Haffman树)
数据库:
一、基本概念
1.数据库、表、视图、Sequence、Index
2.数据类型的区别(Char 和 varchar的区别)
3.关系 (外键、主键。1:1, 1:n,n:n关系在数据库中的实现)
4.范式
二、应用
1.基本Sql语言
2.Outer join (left, right, full)和 inner join
3.Transaction概念
4.Transaction和Connection的关系
三、高级应用
1.DAO模型
2.Connection Pool
3.OR Mapping Tools (Hibernate)
Java:
一、基本概念
1.语言基本概念
a)Abstract,static,和final修饰符
2.各种不同类型的类型
a)Normal Class
b)Abstract Class
c)Interface
3.特殊类型
a)Exception (unchecked 和 checked)
b)System
c)Classloader
d)Thread + Runnable
e)Serializable
f)Comparable
g)Cloneable
h)Object HashCode () Equals () Clone () ToString ()
4.基本Pattern的实现
a)Singleton
b)Utility class
5.对象的基本概念
a)Create a object
b)Lifecycle of object
c)Object reference 和Object的关系存储位置(Heap和Stack) 对象赋值和修改
二、中级概念
1.String的基本操作方法
2.Java collections中的基本对象
a)Collection
b)List
c)Set
d)Map
e)两个Utils类:Collections和Arrays
3.Concurrency(并发)的基本概念
a)synchronized
b)Thread 和 runnable的基本概念
c)Concurrency (JDK 1.5)的基本使用方法
ReadWriteLock Thread pool
d)Dead lock的原因和诊断方法
4.第三方Utils库的使用方法
a)Log4j
b)Commons-xxx
5.Heap和Garbage Collection
a)Object reuse (Object pool, 对基本类型对象,使用Value Of代替new)
b)Memory leak的原因和诊断方法
三、高级概念
1.J2EE/EJB
a)Stateless / Stateful Session Bean
b)Servlet/MVC/struts
c)Webservice (WSDL/SOAP/AXIS/X Fire)
2.Spring framework
a)基本概念(IoC, AOP)
3.Hibernate