java 学习路线

学习路线

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常用命令
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值