1. Java版本
- Javase(Java标准版)
- Javaee(java企业版)
Javame(移动版)
2. Java中的变量
- 基本类型(8种)
- 引用类型的变量
3. Java流程控制
- 判断
- 循环
- 分支
4. Java数组
- 数组的定义
- 数组的遍历
- 数据的访问(索引)
- 数据的排序
- 冒泡排序
- 归并排序
- 快速排序
- …
- 数组的压缩
- 棋盘算法(稀疏数组)
- …
5. Java中的面向对象编程(OOP)
面向对象编程只是一种编程思想,这种思想和编程语言无关的
java中的面向对象编程只是对这种思想的实现
- 继承
- 封装
- 多态
- 抽象类
- 接口
- 内部类
6. Java中的集合API
下面的这些数据结构只是在java中对基本结构的一些封装,学习的时候千万千万不要只学习API的用法(api调用小能手),要自己练习手写实现这些集合
-
Collection
- List
- ArrayList: 数据 数组的扩容
- LinkedList: 双向链表
- Set
- List
-
Map
- TreeMap
- HashMap
- ConcurrentHashMap
7. 文件IO
- 输入流
- 输出流
8. 多线程
-
多线程的定义方式
-
多线程的线程调度
-
多线程如何保证线程安全性 【线程锁,所的实现原理?】
- 原子性
- 有序性(JVM指令集 指令 jvm指令重排序)
- 可见性
-
volatile关键字(大厂面向必备)
-
内存屏障
-
线程池(核心数量 最大数量 等待队列 拒绝策略)
9. 网络编程
- BIO(同步阻塞IO) ServerSocket …
- NIO(同步非阻塞IO),多路复用技术… channel ByteBuffer–>Netty高性能网络编程框架
- AIO(异步IO)
10. 反射技术
Class对象
Method对象
Field对象
…
11. 注解技术
annotation
- 注解的定义
- 注解的解析
- 元注解的定义 解析
12. jdk的动态代理技术
13. 常用的设计模式
- 单例模式【区别】
- 饿汉模式
- 懒汉模式
- 单例模式的线程安全性问题
- doublecheck
- 同步锁
- 利用jvm内置的内部类来实现单例模式(非常推荐)
- 单例模式的攻击手段
- 反射攻击
- 序列化攻击
- 克隆攻击
- 攻击手段的解决方案
工厂模式
代理模式
…