进阶篇
Java底层知识
字节码、class文件格式
CPU缓存,L1,L2,L3和伪共享
尾递归
位运算
- 用位运算实现加、减、乘、除、取余
设计模式
了解23种设计模式
会使用常用设计模式
- 单例、策略、工厂、适配器、责任链。
实现AOP
实现IOC
不用synchronized和lock,实现线程安全的单例模式
nio和reactor设计模式
网络编程
tcp、udp、http、https等常用协议
- 三次握手与四次关闭、流量控制和拥塞控制、OSI七层模型、tcp粘包与拆包
http/1.0 http/1.1 http/2之前的区别
Java RMI,Socket,HttpClient
cookie 与 session
- cookie被禁用,如何实现session
用Java写一个简单的静态文件的HTTP服务器
- 实现客户端缓存功能,支持返回304 实现可并发下载一个文件 使用线程池处理客户端请求 使用nio处理客户端请求 支持简单的rewrite规则 上述功能在实现的时候需要满足“开闭原则”
了解nginx和apache服务器的特性并搭建一个对应的服务器
用Java实现FTP、SMTP协议
进程间通讯的方式
什么是CDN?如果实现?
什么是DNS?
反向代理
框架知识
Servlet线程安全问题
Servlet中的filter和listener
Hibernate的缓存机制
Hiberate的懒加载
Spring Bean的初始化
Spring的AOP原理
自己实现Spring的IOC
Spring MVC
Spring Boot2.0
- Spring Boot的starter原理,自己实现一个starter