- 博客(22)
- 收藏
- 关注
原创 ThreadPoolExecutor 源码深度分析
private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); //融合线程池状态+线程数(高四位表示线程状态) private static final int COUNT_BITS = Integer.SIZE - 3; //29 private static final int CAPACITY = (1 << COUNT_BITS) - 1; //1逻辑左移动29位后减1;用二进...
2021-01-28 00:07:40
138
原创 Dubbo源码分析 (八)之线程池EagerThreadPoolExecutor
EagerThreadPoolExecutor 为dubbo线程派发器Dipatcher中的一种创建线程池方式;见Dubbo源码分析 (五)之线程5种派发器Dispatcher直接上代码分析: public class EagerThreadPoolExecutor extends ThreadPoolExecutor { /** * task count 记录正在执行+队列等待执行的任务 */ private final AtomicInteger sub..
2021-01-27 23:21:50
996
2
原创 Dubbo源码分析 (五)之线程5种派发器Dispatcher
AllChannelHandlerDirectDispatcherMessageOnlyDispatcherExecutionDispatcher待分析
2021-01-26 00:48:39
441
原创 Dubbo源码分析 (四)之服务调用原理
目录1:获取对应接口服务的代理类2:委托接口代理类查找可执行的Invoker(服务提供者)1)调用demoService.sayHello2)proxy0.sayHello //代理执行,3)代理执行this.handler.invoke(this, methods[0], arrayOfObject);4)MockClusterInvoker.invoke(new RpcInvocation(method, args)).recreate();5)容错集群执行 Failove.
2021-01-24 00:41:25
464
2
原创 Dubbo源码分析 (三)之服务暴露
基于启动日志分析Dubbo服务暴露主要几个大步骤1:[22/01/21 11:22:54:054 CST] main INFO support.ClassPathXmlApplicationContext: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@18eed359: startup date [Fri Jan 22 23:22:54 CST 2021]; root of context
2021-01-23 00:28:10
900
原创 Dubbo源码分析 (一)之SPI 分析
1:Dubbo spi 较JAVA spi 优点1.1 spi 全称Service Provider Interface优点:第三方可通过实现接口,扩展自己的实现,将功能的实现逻辑控制权交由第三方配置,从而实现插件的可拔插。1.2 java spi 举例://接口package com.alibaba.dubbo.common.spitest;public interface Car {void drive();}//benz 实现package com.alibab
2021-01-22 01:34:48
134
1
原创 Dubbo源码分析 (二)之服务引用
服务引用主流程详解:1:启动(讲解融合spring,基于xml配置的启动),解析配置,校验1.1 启动是spring 解析xml时,遇到duubo相关的标签时,使用dubbo 标签解析处理体系进行解析后生成对应的BeanDefination,随后交由spring容器实例化涉及到文件和类如下:spring.schemas //dubbo 包的META-INFO目录下spring.handles //dubbo 包的META-INFO目录下dubbo.xsd //dubbo 包的META-I
2021-01-22 00:49:50
327
1
转载 NIO 之 ByteBuffer详解
原文地址:http://blog.youkuaiyun.com/u012345283/article/details/38357851目录(?)[+]缓冲区(Buffer)缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区:使用缓冲区有这么两个好处:1、减少实际
2017-08-14 10:10:43
537
转载 jvm 类加载机制
http://blog.youkuaiyun.com/boyupeng/article/details/47951037一、为什么要使用类加载器?Java语言里,类加载都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会给java应用程序提供高度的灵活性。例如:1.编写一个面向接口的应用程序,可能等到运行时再指定其实现的子类;2.用户可以自定义一个类加
2017-08-11 11:31:29
282
转载 自旋锁,排队自旋锁,clh 锁,mcs 锁
http://blog.youkuaiyun.com/fei33423/article/details/30316377
2017-08-04 10:34:32
428
转载 storm 源码分析
http://blog.youkuaiyun.com/xiaolang85/article/details/38404327
2017-08-03 14:06:13
277
原创 hadoop/hbase 环境搭建
hadoop安装(1)创建hadoop用户组和用户 见(1.1,1.5)(2)配置hadoop用户信任关系1)生成 非对称密钥 :ssh-keygen -t rsa //一直回车 1)znode01,znode02,znode03 添加信任关系(1)znode01 无密码访问znode02(2)在znode02 :mkdir ~/.ssh/tmp ; touch
2017-07-20 22:36:06
1257
原创 AES加解密
package com.ai.runner.center.bmc.util;import java.io.UnsupportedEncodingException;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java.secu
2017-07-09 22:30:15
247
原创 ELK搭建
11) 安装logstash (logstash-2.4.1)解压即可12)ES集群搭建(版本2.4.2)(12.1)znode01,znode02,znode03 中修改配置文件elasticsearch.yaml 一下四个参数,其他默认即可cluster.name: elasticsearchnode.name: znode01network
2017-06-21 23:17:44
267
原创 storm+kafka+hbase+mysql jar包
activation-1.1.jaraopalliance-1.0.jarapacheds-i18n-2.0.0-M15.jarapacheds-kerberos-codec-2.0.0-M15.jarapi-asn1-api-1.0.0-M20.jarapi-util-1.0.0-M20.jarasm-3.1.jarasm-4.0.jaravro-1.7.4.ja
2017-06-21 22:46:25
394
原创 Kafka 低级API 查看topic
package com.zsb.test.util;import java.util.ArrayList;import java.util.Collections;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Tree
2017-06-13 22:37:51
2254
原创 storm 例子
package com.zsb.test.spout;import java.util.Arrays;import java.util.Map;import backtype.storm.spout.MultiScheme;import backtype.storm.spout.SchemeAsMultiScheme;import com.ai.baas.storm.util.Ba
2017-06-13 22:31:51
314
原创 Hbase 工具类
package com.zsb.test.util;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Ent
2017-06-13 22:27:24
328
转载 HTTP长连接和短连接
HTTP长连接和短连接1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。
2017-04-07 15:02:15
189
转载 Linux 中的五种 IO 模型
1 概念说明在进行解释之前,首先要说明几个概念:用户空间和内核空间进程切换进程的阻塞文件描述符缓存 IO1.1 用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设
2017-03-28 15:25:40
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人