- 博客(8)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Tomcat源码解析(16)
部署器 使用一个Web应用程序,必须表示该应用程序的Context实例,部署到一个Host实例。在Tomcat中,可以用war文件的形式来部署。
2017-09-08 17:26:43 143
原创 Tomcat源码解析(14)
关闭钩子 很多时候,用户关闭程序后需要做一些清理。有时候,并不按照推荐的方法关闭应用程序,有可能不做清理工作。 使用关闭钩子,确保清理代码总是能够执行,无论用户如何终止应用程序。 java虚拟机,会对两类事件进行响应,然后执行关闭操作。 1.调用System.exit()或程序最后一个非守护进程线程退出,应用程序正常退出。 2.用户强制虚拟机中断运行
2017-09-06 10:52:48 171
原创 Tomcat源码解析(13)
Digester库 我们在Bootstrap类,来硬编码的,实例化各种类。 Tomcat提供了server.xml来对应用程序进行配置。每个元素对应一个java对象。 使用digester来将xml文档元素转换成java对象。 Digester本来是解析sturest-config.xml的。由于解析xml到java对象很常用。所以作为一个项目。 Dige
2017-09-05 16:47:23 169
原创 堆排序算法
堆排序,是利用堆的性质进行一种选择排序 堆,其实是一棵完全二叉树。(任何一非叶节点的关键字,不大于或者不小于其左右孩子节点的关键字) 堆分为大顶堆 和 小顶堆:大于等于为大顶堆。小于等于 为 小顶堆 大顶堆,堆顶记录是最大关键字。小顶堆,堆顶记录是最小关键字。 1.将 带排序的关键字(1~n),构成大顶堆,此时为初始无序区。 2.将堆顶元素(1)与最后一个元素(n
2017-09-04 16:23:07 148
原创 Tomcat源码解析(12)
服务器组件和服务组件 通过实例化一个连接器获取一个servlet容器。 之前只有一个连接器,服务8080端口上的HTTP请求。无法添加另一个连接器来处理HTTOS之类的请求。 服务器组件(org.apache.catalina.Server) server接口的实例表示Catalina的整个servlet引擎,包括所有的组件。服务器组件十分有用,因为它使用了一种优
2017-09-04 14:21:02 156
原创 Tomcat源码解析(11)
Host和Engine 如果你想在同一个Tomcat部署多个Context容器。需要使用Host容器。 Context容器的父容器通常是Host容器,也可能是其他实现。或者如果不必要,就可以不使用父容器。(但是总会使用一个Host) Engine容器表示Catalina的整个servlet引擎。如果使用了Engine容器,它总是处于容器最顶层。添加的通常是host或者contex
2017-09-04 11:39:31 176
原创 Tomcat源码解析(10)
StandardContext类 Context实例表示一个web应用程序。包含一个或者多个Wrapper实例,每个wrapper都代表一个Servlet。 StandardContext是Context的标准实现,今天说一下工作机制。 StandardContext的配置 创建实例之后,必须调用start()方法,为引入的每个HTTP请求提供服务。可能由于某种
2017-09-01 15:58:42 198
linux下mysql8.0安装后启动失败
2018-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人