前段时间借助《Spring源码深度解析》和《Spring技术内幕》两本书对Spring框架的底层实现有了更深层次的认识,本想写一个Spring架构系列博客同时实现一个简易版的Spring的,但无奈手上同时有三个外包项目,并且白天也有一些本科课程,就只能暂时搁置拖到寒假再写了。
上星期京东搞活动,京东自营的图书都半价,我又手痒撸了几百块钱的,哎,真是败家。但是书的质量还是蛮高的,我买了《Java多线程实战指南(核心篇)》、《Java多线程实战指南(设计模式篇)》、《实战Java虚拟机》、《Kotlin实战》、《揭秘Java虚拟机》、《从零开始写分布式服务框架》、《MyBatis技术内幕》、《Tomcat内核设计剖析》,有几本我看过电子版的,但是感觉不是很过瘾,书的质量很高,所以就买了实体书回来再看几遍,也遂生出了利用这些书中的知识来写一个类似Tomcat的WebServer中间件
我简单地归纳了一下,其中的主要技术如下:
1.TCP/IP协议、HTTP协议
2.Java网络编程(主要是Socket)
3.Java多线程编程
4.类加载机制
5.反射与注解
6.XML
7.Java流与文件操作
8.软件体系结构与设计模式(其实这两项应该不能算是具体的技术,准确地来讲应该算是方法)
最后要实现的成果为:
1.能部署JavaWeb项目,支持JSP、Servlet
2.能监听Web应用的生命周期,实现各个容器的Listener
3.实现过滤器
4.实现热部署
5.实现WebSocket
6.实现分布式
7.实现WebService
有兴趣的可以持续关注我的github项目,可能项目更新会比较慢,但应该会在今年寒假结束前完成所有实现,并且系列博客也会跟项目一并进行
项目地址为https://github.com/xiaoxiaobingdxb/webserver.git