自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 我的GitHub

flyingzc’s githubflyingzc’s github blog

2019-12-12 00:41:11 211

原创 tomcat处理请求

tomcat处理请求组件Server|-- Service|–|-- Connector|–|--|-- Prototal|–|--|–|-- Endpoint|–|--|–|--|-- Acceptor|–|--|–|--|-- Executor|–|--|–|-- Processor|–|--|-- Mapper|–|--|-- CoyteAdapter|–|-- Co...

2019-12-26 11:29:57 328

原创 tomcat实现分布式session

tomcat实现分布式sessiontomcat-redis-session-manager使用Copy the following files into the TOMCAT_BASE/lib directory:tomcat-redis-session-manager-VERSION.jarjedis-2.5.2.jarcommons-pool2-2.2.jar配置 TOMCA...

2019-12-20 14:54:50 422

原创 tomcat session

tomcat session相关类org.apache.catalina.ManagerStandardManagerSessionIdGeneratorManager实现类Manager 用于管理 session.默认实现是 StandardManager,基类 ManagerBase.Manager ClusterManager (org.apache.catali...

2019-12-20 13:25:05 253

原创 tomcat启动流程

tomcat 启动启动流程- Bootstrap.main() - Bootstrap bootstrap = new Bootstrap(); 实例化Bootstrap实例 - bootstrap.init(); 1.设置catalinaHome和catalinaBase 2.初始化类加载器,实例化**ClassLoaders - setCatalinaHom...

2019-12-19 17:13:04 217

原创 tomcat lifecycle

LifeCycleLifeCycle 相关类LifeCycle 接口中的状态扭转注释,如下: * start() * ----------------------------- * | | * | init() | * NEW -»-- INITIALIZING ...

2019-12-19 12:06:48 185

原创 布隆过滤器

布隆过滤器what布隆过滤器(Bloom Filter).是一个很长的 二进制向量 和 一系列随机映射 函数.之所以叫 filter,是在缓存之前,把不存在的 key 给拦截掉.本质是 一个位数组: 位数组 就是 数组 的 每个元素 都只占用 1 bit,并且每个元素只能是 0 或 1.用于判断: 某个元素 一定不存在 或者 可能存在 于 一个集合中.布隆过滤器除了一个位数组,还有 K...

2019-12-18 16:02:12 214

原创 Redis实现分布式锁

Redis实现分布式锁要考虑的点互斥(独占,只能有一个客户端获取锁)不能死锁容错(只要大部分 redis 节点创建了这把锁就认为成功获取到锁)支持重入,超时获取锁等特性redis实现分布式锁1.使用set1.1.加锁SET key randomValue NX PX 30000NX: (not exists)表示只有 key 不存在的时候才会设置成功.(如果此时 redi...

2019-12-17 14:07:09 160

原创 Dubbo心跳

Dubbo心跳机制Dubbo 默认客户端和服务端都会发送心跳报文,用来保持 TCP 长连接状态.在客户端和服务端,Dubbo 都会开启一个线程 循环扫描 并 检测连接是否超时.在服务端发现超时则会主动关闭客户端连接.在客户端发现超时则会主动重新创建连接.默认心跳检测时间是 60 秒.原理provider 心跳默认是在 heartbeat(一分钟)内如果没有读消息或写消息,就会发送心跳...

2019-12-15 17:30:32 700

原创 zk实现分布式锁

zk实现分布式锁zk实现分布式锁的两种方式如果要自己通过 zookeeper 的原生 api 实现一个分布式独占锁的话,有两种方式:方式1: 创建临时节点,创建失败的client注册watcher所有需要获取锁的 client 都尝试到 zk 上创建一个临时节点.创建成功则表示成功获取锁;若创建失败,则对这个节点注册 watcher.若获得锁的 client 释放锁(自己 delete ...

2019-12-12 23:25:27 456

原创 hotspot8编译

hotspot8编译参照xiaguang的博客,帮我踩了很多坑,虽然编译过程中还是遇到了一点小问题.修改 ubuntu18 adp 源sudo vi /etc/apt/sources.list最好搜索一下最新的国内源deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multi...

2019-12-12 00:37:51 425

原创 Dubbo provider处理请求

服务端接收并响应请求流程provider处理请求流程- provider处理请求流程- ChannelEventRunnable.run()通道事件,判断RECEIVED事件进行处理 - DecodeHandler.received()解码处理器 - HeaderExchangeHandler.received()基于消息头的处理 - 1.He...

2019-12-05 22:26:59 337

原创 Dubbo服务引用

官网客户端服务引用客户端服务引用 demoDemoService demoService = (DemoService) context.getBean("demoService"); // get remote service proxydemoService.sayHello("world");dubbo 在客户端动态的生成了一个该 Interface 类型的代理类.在这个代理类中...

2019-12-04 07:56:41 171

原创 synchronized 与 Lock 性能比较

synchronized 与 Lock 性能比较JDK1.8D:\soft\Java\jdk1.8.0_172\bin\java.exe "-javaagent:D:\soft\JetBrains\IntelliJ IDEA 2018.1.6\lib\idea_rt.jar=57167:D:\soft\JetBrains\IntelliJ IDEA 2018.1.6\bin" -Dfile.e...

2019-12-03 08:00:38 717

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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