本系列是学习Tomcat教程的学习记录.
Web容器
随着互联网的发展,静态页面不能满足我们的需求,需要动态地获取结果.而Sun公司就推出了Servlet
技术,Servlet
可以简单理解为运行在服务端的Java程序,但是Servlet并没有main方法,所以需要一个容器对Servlet进行实例化并调用它.Tomcat和Jetty就是一个可以运行Servlet的容器,为了方便使用,也具备HTTP服务器的功能,因此Tomcat或Jetty就是一个HTTP服务器
+Servlet容器
,也称为Web容器
轻量级服务器
在微服务架构下,开发人员更喜欢轻量级的应用服务器,并且以SpringBoot为代表的应用内嵌式Servlet容器也非常流行.
因为服务变多,而为了减少资源的消耗,降低部署成本,所以对Web服务器的要求也是轻量的,消耗较少的内存和CPU,并且由应用本身来启动一个嵌入式的Web容器,这样能显著降低部署复杂度.
SpringBoot内嵌的Tomcat都已经支持Servlet4.0规范
学习Web容器的要求
操作系统基础
- 进程&线程,线程同步方式
- 内核,内核空间,用户空间
- 进程通信
- 虚拟内存,内存分配的过程
- I/O,I/O模型
- 阻塞与非阻塞
- 同步与异步
- 网络通信
- OSI七层网络模型
- TCP/IP,UDP,HTTP协议
Java语言基础
- JavaSE基础内容
- 集合
- 多线程&并发
- IO模型,BIO,NIO,AIO
- 注解,反射
- JVM相关内容
- 类加载机制
- JVM内存模型
- JVM内存空间分布
- JVM内存与本地内存的区别
- JVM GC原理
JavaWeb基础
SpringMVC框架就是对Servlet的封装,SpringMVC应用本身就是一个Servlet,而Servlet容器是管理和运行Servlet的, 因此我们需要先理解Servlet和Servlet容器是怎样工作的,才能更好地理解SpringMVC
延伸阅读
- UNIX环境高级编程
- Java核心技术
- Java编程思想
- Java并发编程实战
- 深入理解Java虚拟机:JVM高级特性与最佳实践