您的位置:首页 > 编程语言 > Java开发

java 学习路线

2016-12-29 09:01 127 查看

学习路线

Java基础

推荐书籍:《Java编程思想》, 《java核心技术》


Object

有哪些常用方法?

clone 浅拷贝、深拷贝的区别?

equals 子类重写equals方法,为什么要重写, 和==的区别?

toString 、hashCode

基础类型、包装类型有哪些类型,占用几个字节?有什么区别?

String、StringBuilder、StringBuffer

有什么区别?为什么String不可变?

final class

Collection

有哪些常用的集合对象;List、Set、Map适用场景

数据是怎么存储的

有序集合和无序集合

如何排序

IO流

字节流、字符流

java IO: 装饰器模式的使用

接口和抽象类

使用场景/区别

继承和实现

作用域

private

默认

protected

public

关键字

try catch finally

finally和return的执行顺序


static

static 和 非static有什么区别


final

加final修饰的类、属性、方法,有什么不同


编码规范

Java代码规范

Java进阶

Java并发

推荐书籍:《JAVA并发编程实战》

线程安全、同步

synchronized

Lock

volatile

保证数据的可见性,不能防止并发竞争

ThreadLocal

解决线程安全问题,非同步

以上所列的使用场景, 能解决什么问题

并发

CyclicBarrier(栅栏)、CountDownLatch(闭锁)

同步辅助

Semaphore(信号量)

Future

线程池

线程池原理及应用

生产者和消费者

六大设计原则

单一职责

一个类/一个方法只做一件事

依赖倒置原则

依赖抽象,不依赖于具体。 面向接口编程

里氏替代原则

父类出现的地方,都可以用子类替代

迪米特法则

一个类之和自己的朋友打交代,尽量封装

接口隔离原则

功能单一,不要承担过多的职责

开闭原则

对扩展开放,对修改关闭

设计模式

推荐书籍:《GOF设计模式》、《Head First设计模式》、《大话设计模式》

创建型模式

简单工厂模式/工厂方法模式 (Factory Method)

抽象工厂模式

单例模式

创建者模式 (Builder)

原型模式 (Prototype)

结构型模式

代理模式 (proxy)

适配器模式 (Adapter)

装饰器模式

外观门脸模式

桥模式

组合模式

享元模式

行为型模式

观察者模式

模板方法模式

状态模式

策略模式

职责链模式

命令模式

访问者模式

调停者模式

备忘录模式

迭代器模式

解释器模式

代码质量

代码走查

静态代码走查

源代码走查

PMD

缺陷模式匹配

Jtest

缺陷模式匹配;数据流分析

checkStyle

缺陷模式匹配


字节码走查

findBugs

缺陷模式匹配;数据流分析


理论/技术

缺陷模式匹配

类型推断

模型检查

数据流分析

代码重构、优化

推荐书籍:《重构-改善代码的既有设计》、《clean code》

必要条件

可验证

框架

SpringMVC

Bean管理(IOC)

定义

配置文件

注解 (Service、Controller、Repository、Component)

id、name的设置


注入

构造器

setter

field (注解)

Autowired

默认按类型注入

Resource (Java自带)

默认按名称注入


IOC有什么优缺点

AOP

代理模式的应用

Java的代理、Cglib代理

事务的控制

启动加载流程

Dispatch分发流程

MyBatis

基础配置使用

#和$的区别

深入

Jvm

《深入理解Java虚拟机》(周志明,第一版、第二版)

Java源码、类库

操作系统

《深入理解计算计系统》、《从哲学层次看操作系统》

网络

《tcp/ip详解卷一、二、三》

数据结构、算法

数据库-Oracle

DDL

CREATE

ALTER

MODIFY

DROP, TRUNCATE

DML

基础增删改查

表关联查询

group, order by, having等

SQL优化

隐士函数转换

exists, in

索引

B树索引

位图索引

预编译

闪回 (FlashBack)

ACID 事务隔离级别

其他

rownum

rowid和for update更新的区别

学习资源

Java系列

Java基础知识、集合、JVM、多线程、设计模式等介绍;Linux常用命令

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 知识点