摘要: 接着上一篇, 该到StandardContext的 init 和 startInternal 方法了.   StandardContext#initInternal() 此方法由 org.apache.catalina.util.LifecycleBase#init() 调用而来. //org.apache... 阅读原文
2020-08-24 08:22:01 阅读(2307) 评论(0)
摘要: Bootstrap#start() daemon = bootstrap, 所以调用的还是 org.apache.catalina.startup.Bootstrap#start() public void start() throws Exception { if (catalinaDaemon ... 阅读原文
2020-08-24 06:33:03 阅读(2720) 评论(0)
摘要: Bootstrap#load() daemon.load(args) 调用的, 其实就是 bootstrap.load(args) main方法中执行了 daemon = bootstrap; org.apache.catalina.startup.Bootstrap#load(): private voi... 阅读原文
2020-08-24 06:00:32 阅读(2424) 评论(0)
摘要: 代码片段: org.apache.catalina.startup.Bootstrap#main() if (daemon == null) { // Don't set daemon until init() has completed Bootstrap bootstrap = new ... 阅读原文
2020-08-24 00:06:02 阅读(2860) 评论(0)
摘要: tomcat架构    从这张图上, 可以很明确的看出, 各个组件的关系 Server: 服务器, 也就是一个tomcat Service: 服务, 将多个 Connector 和 一个 Engine 组合起来, 成为一个服务. 1#Server -- n#Service Connector: 接收器, 用... 阅读原文
2020-08-23 23:22:02 阅读(2411) 评论(0)
摘要:     7月2号10点后,刚好某个负责的服务发生大量的redis连接超时的异常(redis.clients.jedis.exceptions.JedisConnectionException),由于本身的数据库查询缓存在redis中2分钟,并且未做降级措施,而且本身不能做限流处理,而且随着午高峰的时间流量在飙... 阅读原文
2020-08-23 23:03:02 阅读(2461) 评论(0)
摘要: 1. 前言 记不记得之前发过一篇文章Spring 官方发起Spring Authorization Server 项目。该项目是由Spring Security主导的一个社区驱动的、独立的孵化项目。由于我们熟悉而且正在使用的Spring Security OAuth已经处在项目生命周期的尽头,Spring ... 阅读原文
2020-08-23 21:34:04 阅读(2368) 评论(0)
摘要: == 运算符 == 既可以用于基本数据类型的比较,也可以用于引用数据类型的比较 (1)如果比较的是基本数据类型变量:比较两个变量的值是否相等,相等即为true 注意:当基本数据类型进行比较时,符号两边的数据必须类型兼容(类型相同或可自动类型转换),否则编译出错。 测试代码: public class Equa... 阅读原文
2020-08-23 20:40:01 阅读(2356) 评论(0)
摘要: 本文是精讲响应式WebClient第4篇,前篇的blog访问地址如下: 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法 精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方法详解 精讲响应式WebClient第3篇-POST、DELETE、PUT方法使用 WebClient是从... 阅读原文
2020-08-23 19:52:02 阅读(2360) 评论(0)
摘要: 今天在做公司的一个项目,一个广告类型分别用数字1和2表示,传给下拉框,第一次接触,有点烦,于是导出找资料,也没个靠谱的,后面看了十几篇别人的,最后总结出来了 1、首先定义枚举类,封装取值方法 public enum SysHomeTypeEnum { SYS_HOME_TYPE_CATEGORY(1... 阅读原文
2020-08-23 19:24:02 阅读(2323) 评论(0)