lz710117239的博客

java程序员的博客

排序:
默认
按更新时间
按访问量

springboot中tomcat的启动(九)请求进来的流程

当一个请求访问springboot的接口的时候,会被Nio的selector轮询到 一、入口 轮询的方法是在NioEndPoint端点的内部类SocketProcessor类中的doRun()方法,然后进入如下方法中 state = getHandler().process(socketWrapp...

2018-11-06 23:10:25

阅读数:16

评论数:0

spring源码(一)AntPatternComparator的路由优先级

spring源码(一)AntPatternComparator的路由优先级 spring的路由 在spring中,我们经常在requestMapping中配置各种路由如: /a/b/c/d /a/b/c/{d} /a/b/*/d /a/b/** 等等,而有时候会遇到匹配到两个路由的情况,这个时候就...

2018-10-18 20:15:59

阅读数:15

评论数:0

netty源码解析(三)recycler

recycler类是netty中对象的缓存利用的类, 一、普通用法如下: public class RecyclerTest { private static final Recycler<User> RECYCLER = new Rec...

2018-09-29 14:56:23

阅读数:29

评论数:0

netty源码解析(二)read write

当创建NioEventLoop的时候,可以使用addLast方法添加Handler,如果是ChannelInboundHandler类型,则在读取数据的时候,会调用其read方法,如果是ChannelOutboundHandler类型,则会在写出数据的时候,调用其write()方法   当ne...

2018-09-21 16:43:41

阅读数:33

评论数:0

netty源码解析(一)NioEventLoop

一、建立连接和读取数据 当一个请求进来的时候,服务器需要读取数据,这时候,就先进入了NioEventLoop类的run方法中的processSelectedKeys()方法,之后再其processSelectedKey(SelectionKey k, AbstractNioChannel ch)...

2018-09-15 13:09:26

阅读数:25

评论数:0

springboot中tomcat的启动(五)LifeCycleBase.init()

LifeCycelBase作为众多组件的父类,其init()方法,第一次调用用是在StandardServer的start()方法中,其方法内容如下: setStateInternal(LifecycleState.INITIALIZING, null, false);...

2018-09-06 22:53:47

阅读数:23

评论数:0

springboot中tomcat的启动(四)TomcatWebServer的initialize()

TomcatWebServer的initialize方法是在其构造方法中被调用,方法如下: addInstanceIdToEngineName(); Context context = findContext(); context.addLifecycleListen...

2018-09-06 22:53:38

阅读数:37

评论数:0

springboot中tomcat的启动(七)startInternal()方法

说完init()方法后,我们说下startInternal()方法,这个方法,首先进入了StandardServer的startInternal()方法。然后进入了StandardService的startInternal()方法,然后进入了StandardEngine的startInternal...

2018-09-06 22:53:29

阅读数:28

评论数:0

springboot中tomcat的启动(六)Connector的initInternal方法

在上篇文章中说到,StandardServcie的initInternal()方法,进入了Connector的initInternal方法,其方法如下: 一、StandardService.initInternal @Override protected void initI...

2018-09-06 22:53:09

阅读数:51

评论数:0

springboot中tomcat的启动(二)客户化配置

在AbstractApplicationContext的onRefresh方法中,进入了ServletWebServerApplicationContext类的onRefresh()方法,如下: @Override protected void onRefresh() { super....

2018-09-06 22:52:51

阅读数:49

评论数:0

springboot中tomcat的启动(三)

上面一篇博文我们说到了tomcat的客户化配置,在客户化配置后就进入了TomcatServletWebServerFactory的getWebServer方法, @Override public WebServer getWebServer(ServletContextInitialize...

2018-09-06 22:49:28

阅读数:16

评论数:0

springboot中tomcat的启动(八)监听启动,读写

tomcat中所有的组件都启动了之后,后面就需要绑定监听端口了,监听端口的地方是在ServletWebServerApplicationContext的finishRefresh()方法中,最后会进入了NioEndPoint的bind()方法,在这个方法中进行了端口的绑定和监听 @Ov...

2018-09-06 22:40:13

阅读数:106

评论数:0

SpringBoot源码解析(九)Actuator

一、引入Actuator 当我们在项目中引入spring-boot-starter-actuator的时候,我们可以通过如下方式调用,查看服务的信息: localhost:8006/actuator/info 默认actuator只开启了info和health,如果想要使用其他功能,需要在...

2018-08-14 22:52:07

阅读数:68

评论数:0

SpringBoot源码解析(八)Actuator内存溢出

Springboot中,我们可以使用监控工具Actuator,查看和变更spring的状态,但是Actuator是有可能引起内存溢出的问题的,具体原因,分析如下: 一、Filter 在Actuator中,有一个过滤器,即MetricsWebFilter,请求监控过滤器,其filter方法如下:...

2018-08-14 21:30:46

阅读数:237

评论数:0

内存溢出分析工具MAT实战(一)JVM启动参数分析

在工作的过程中,有时我们会遇到内存溢出的问题,这时候就需要我们有足够的知识积累去解决内存溢出相关问题。 本文章是建立在读者了解java的内存结构的基础上。 关于内存分析工具,mat是非常实用的一款内存分析工具,下面我们针对实际情况对其进行介绍。 一、获取分析文件 一般我们分析内存的时候都是...

2018-08-13 22:48:41

阅读数:71

评论数:0

springboot项目中dubbo启动的源码分析

现在本人开始使用起来了微服务,spring boot是微服务必备的框架,那么今天就说下,springboot中是怎么整合dubbo的(源码层面) 我们直接从AbstractApplicationContext类的refresh方法开始说起,首先springboot项目的Application上面...

2018-08-13 20:31:40

阅读数:86

评论数:0

Linux内存分页管理

在网上阅读了一篇关于内存分页管理的文章,这是原文链接 本人画的解析图如下: 注:1、地址总线

2018-08-04 23:42:35

阅读数:46

评论数:0

spring cloud gateway源码(七)GatewayFilterFactory

在spring cloud gateway中,有两种形式的gatewayFilter,一种是直接实现Global接口的bean,还有一种就是GatewayFilterFactory。这些类在spring-cloud-gateway的core包中的org.springframework.cloud....

2018-08-02 21:35:34

阅读数:472

评论数:0

spring cloud gateway源码(六)Predicate

在Spring Cloud Gateway中,默认添加的predicate是:PathRoutePredicateFactory。在Spring Cloud Gateway中有许多的Predicate,他们的功能各异。下面我们一起分析一下。 一、获取predicate 在RouteDefini...

2018-08-01 00:05:41

阅读数:448

评论数:0

spring cloud gateway源码(五)请求流程

spring Cloud gateway的请求流程图如下: 一、Predicate 在Spring Cloud Gateway中,在走完自定义的Filter后,会找到对应的handler方法,而在Spring Cloud Gateway中,对应的Handler就是根据Route去寻找的,  ...

2018-07-30 23:06:35

阅读数:516

评论数:0

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