加载中
tomcat类加载机制

一、tomcat类加载器继承图 tomcat类加载器的集成体系,包含两部分: 1.上半部分是jdk自带的,包含:启动类加载器,扩展类加载器,应用类加载器,这里不展开讲解。如果想了解,可以查看sun.m...

2020/10/27 10:18
3.2K
tomcat网络模型

一、概述 tomcat的网络模型有三种,分别是 JIO(即BIO), NIO,NIO2(即AIO)。tomcat7之前包含JIO和NIO,tomcat8之后的版本包含NIO和NIO2。tomcat7默认是JIO,tomcat8之后默认的IO是NIO。这...

2020/06/09 18:08
173
tomcat的架构

一、容器架构 tomcat容器架构 server : tomcat服务,它下面可以有多个service (不是容器) service :一个http+port服务,它下面可以有多个engine(不是容器) engine : 表示整个Catalina ...

2020/06/09 18:03
66
java进程被内核kill的分析

前几日,同事收到很多异常报警,发现调用下游一个基础服务大量超时。经过讨论,为了防止服务宕机,我们把流量入口给拦住(我们的系统主要是处理上游推下来的Mq消息,就是将Mq消费入口给拦了)...

2020/03/13 22:55
1.2K
防止缓存击穿的伪代码(单个应用,同时只允许一个线程穿透缓存)

package liurong.driver.cache; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.ReentrantLock; /** * @desc 缓存模板 @author liurong @date 2019年1...

2019/12/27 18:48
220
Dubbo中SPI的原理

dubbo中SPI机制,主要围绕三个注解:@SPI、@Adaptive、Activate @SPI:作用域为接口。它表示该类实现了SPI。 @Adaptive:作用域为方法,类。如果在类型定义则表明该类为自适应类,不需要额外...

2019/12/26 15:52
227
ProxyFactory$Adaptive

package com.alibaba.dubbo.rpc; import com.alibaba.dubbo.common.Node; import com.alibaba.dubbo.common.URL; import com.alibaba.dubbo.common.extension.ExtensionLoader; public class...

2019/12/25 18:48
219
Protocol$Adaptive

package com.alibaba.dubbo.rpc; import com.alibaba.dubbo.common.Node; import com.alibaba.dubbo.common.URL; import com.alibaba.dubbo.common.extension.ExtensionLoader; public class...

2019/12/25 18:46
283
服务暴露流程

com.alibaba.dubbo.config.spring.ServiceBean.export() com.alibaba.dubbo.config.ServiceConfig.doExport() com.alibaba.dubbo.config.ServiceConfig.doExportUrls() com.alibaba.dubbo.co...

2019/12/25 18:19
13
Springmvc异步实现原理

springmvc异步实现原理实际上就是servlet3.0引入的异步模式,详情见类: org.springframework.web.servlet.mvc.method.annotation.DeferredResultMethodReturnValueHandler.handleReturnVal...

2019/12/09 11:32
684
RocketMq push消息实现原理

这边博文介绍Rocketmq push消息原理(rocketmq客户端,push和pull底层实现都是基于pull实现)。文章直接将不会介绍RocketMq的组件,后续将会补上。 首先上图: 流程: 1.RebalanceService:负...

2019/09/30 12:07
1.6K
RocketMq延迟消息实现原理

这边博文介绍Rocketmq的延迟消息的实现管理。文章直接将不会介绍RocketMq的组件,后续将会补上。 首先上图: 定义用户topic为study_rocketmq_topic。流程如下: 1.消息消费者将message投递到...

2019/09/27 12:18
2.6K
Mybatis的基础测试类

每当,我们需要单元测试单个Mapper时,都需要将所有的Spring bean都加载一遍,导致单元测试时间过长。浪费开发时间,所以写了个小demo。提升测试单个Mapper的测试速度。 代码如下: import o...

2019/01/10 15:39
2.7K
Mybatis源码分析------Mapper动态代理源码分析

java之路由浅入深,由深入浅。近来,感觉自己什么都会,感觉又什么都不会。所以,在这个过程中针扎着,带着针扎,开始了mybatis的源码分析。本篇为第一篇,后续将陆续更新。第一遍先从Mappe...

2019/01/05 20:15
183
ThreadLocal的使用

ThreadLocal是用来记录线程私有数据的实体(注意:如果用的是线程池,由于线程是复用的,所以,在一个线程执行完之后需要将私有数据移除。) ThreadLocal源码解读: 1.Thread类中有个属性:T...

2018/08/27 18:06
45
java中 浮点型(float、double)和整型除以零的区别

1.整型除以零会报错 2.浮点型(float、double)因为引入了无限的概念,所以不会报错; System.out.println((1.0 / 0)); // Infinity System.out.println((-1.0 / 0)); // -Infinity System.o...

2017/09/13 20:01
495
Quartz一个job的执行过程

一、简介 我这里的分析采用的是quartz-2.2.1的简单配置。 1. 用的线程池是quartz自带的org.quartz.simpl.SimpleThreadPool; 2. 采用org.quartz.impl.StdSchedulerFactory.getScheduler()来获...

2017/07/07 15:56
330
关于form表单按下enter键之后自动提交的问题

一、关于form表单按下enter键之后自动提交的问题 input标签如果最外层嵌套了form表单,按下enter键之后会自动提交,并且会导致整个页面刷新。如果想关闭这个功能,在form标签上添加:onsubmi...

2017/01/20 17:08
16

没有更多内容

加载失败,请刷新页面

返回顶部
顶部