0%
【Tomcat】三.Tomcat启动(下)
上一篇的时序图:
一. StandardRoot启动
1 | public class StandardRoot extends LifecycleMBeanBase implements WebResourceRoot { |
【Tomcat】三.Tomcat启动(上)
上一篇的时序图:
【Tomcat】二.Tomcat启动初始化Boostrap
【Tomcat】一.初识Tomcat以及调试Tomcat
[toc]
一.Tomcat服务器
相信一直默默耕耘在 JavaWEB
的同学,肯定不会不认识 Tomcat
。这可是世界一个著名的 Web服务器
之一,在之前动态 Web服务
还没有那么盛行的时候,Tomcat
依靠对 Servlet
的实现,让 Web开发
变得简单,JSP诞生
也是目前 动态页面
的始祖。 我不知道现在的同学还记不记得 servlet
的开发方法:
- 创建自己的处理类,继承
HttpServlet
,覆写doGet
doPost
doPut
等不同HTTP Method
的方法实现; - 在
WEB项目
的web.xml
文件中配置servlet
的请求路径信息; - 打包成
war
包,丢进Tomcat/webapp
; - 启动
Tomcat
服务器,Tomcat
端口映射成功以后请求相对应的路径,即可访问到我们刚刚写的servlet
中。
【聊聊MySQL】十一.MySQL-InnoDB的数据库事务锁
【聊聊MySQL】十.MySQL-InnoDB的数据库事务的执行之MVCC
【聊聊MySQL】九.MySQL-InnoDB的数据库事务的执行之UNDO_LOG
【聊聊MySQL】八.MySQL-InnoDB的数据库事务的执行之REDO_LOG
一.REDO LOG
数据库最主要的特性是 持久性
,即修改了数据库数据以后,无论发生什么事情,数据都不会丢失。MySQL-InnDB
就利用 REDO LOG
来满足持久性。REDO LOG
中文称为 重做日志
,那也可以简洁一点叫做 REDO 日志
。是数据库启动的时候,用于读取计算 BufferPool
中脏页数据的方式,这样可以避免由于其他原因导致数据库掉线但是脏页未刷新到硬盘,而导致数据丢失的尴尬局面。
二.高效且持久化的方式
由于 REDO 日志
存在的意义就是,重启数据库的时候能够重新将数据恢复回来。所以在数据库没有发生重启或者异常宕机的时候,他是没有任何意义的,甚至还多了一些开销…
所以为了减少开销,REDO 日志
应当尽量轻巧,记录一些必要的信息就可以了,比如:某个区,某个页号,的某一行,修改成xx
。第二个减少开销的方式就是顺序写入硬盘,先发生的事务,REDO 日志
先被写入硬盘,后边的排队顺序追加到后面去。
三.日志格式
首先明白一点,REDO 日志
所携带的数据是 MySQL_InnoDB
在重启系统的时候,需要调用某些函数进行恢复时所需要的参数。不过,为了减少容量的开销,又做了一些事情。