自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Java IO模型

参考文章https://zhuanlan.zhihu.com/p/115912936https://blog.csdn.net/wteruiycbqqvwt/article/details/90299610https://time.geekbang.org/column/article/100307I/O 就是计算机内存与外部设备之间拷贝数据的过程。我们知道 CPU 访问内存的速度远远高于外部设备,因此 CPU 是先把外部设备的数据读到内存里,然后再进行处理。I/O 模型是为了解决内存和外部设备速

2021-10-15 17:00:42 112

原创 tomcat架构

参考文章https://time.geekbang.org/column/article/96328https://time.geekbang.org/column/article/96764一、目标:学到 Tomcat 的总体架构,学会从宏观上怎么去设计一个复杂系统,怎么设计顶层模块,以及模块之间的关系;为我们深入学习 Tomcat 的工作原理打下基础。二、Tomcat 总体架构首先是要了解需求。 Tomcat 要实现 2 个核心功能:处理 Socket 连接,负责网络字节流与 Re

2021-10-14 17:04:52 146

原创 tomcat实现servlet规范

参考文章:https://time.geekbang.org/column/article/106180http://www.51gjie.com/javaweb/872.htmlServlet规范: Servlet、Filter、ListenerContext管理这三兄弟。Servlet管理Tomcat 是用 Wrapper 容器来管理 Servlet 的,那 Wrapper 容器关键的成员变量:protected volatile Servlet instance = null;一个

2021-10-14 14:41:36 503

原创 tomcat打破双亲委派机制

参考文章:https://time.geekbang.org/column/article/95808https://time.geekbang.org/column/article/105711WebAppClassLoader,tomcat可以部署多个web应用,确保不同的web同名的servlet都能被加载。在context 实例化的时候创建。SharedClassLoader不同的web共用同样的jar,只加载一次。CatalinaClassLoader隔离tomcat类和web应

2021-10-14 11:45:38 189

原创 tomcat的热部署和热加载的实现

参考文章https://time.geekbang.org/column/article/104423热加载的实现方式是 Web 容器启动一个后台线程,定期检测类文件的变化,如果有变化,就重新加载类,在这个过程中不会清空 Session ,一般用在开发环境。热部署原理类似,也是由后台线程定时检测 Web 应用的变化,但它会重新加载整个 Web 应用。这种方式会清空 Session,比热加载更加干净、彻底,一般用在生产环境。tomcat定时任务是怎么实现的?tomcat的热加载和热部署是通过Sche

2021-10-13 17:46:13 270

原创 Spring Boot如何使用内嵌式的Tomcat和 Jetty

参考文章https://time.geekbang.org/column/article/107590在内嵌式的模式下,Bootstrap 和 Catalina 的工作就由 Spring Boot 来做了,Spring Boot 调用了 Tomcat 和 Jetty 的 API 来启动这些组件Spring Boot 中 Web 容器相关的接口WebServer 接口,用于支持多种web容器public interface WebServer { void start() throws

2021-10-13 15:35:05 513

原创 Tomcat组件的创建、初始化,启动

参考文章https://www.cnblogs.com/54chensongxia/p/13236745.htmlhttps://time.geekbang.org/column/article/97308LifeCycle和LifecycleState生命周期Lifecycle 接口里应该定义这么几个方法:init、start、stop 和 destroy,每个具体的组件去实现这些方法在父组件的 init 方法里需要创建子组件并调用子组件的 init 方法。同样,在父组件的 start

2021-10-13 14:04:11 186

原创 tomcat的连接器和容器的调用过程

参考资料https://time.geekbang.org/column/article/100307https://juejin.cn/post/6844903626175954952

2021-10-12 18:13:01 184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除