会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
zhenhong
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
上一页
1
···
8
9
10
11
12
13
14
15
16
···
22
下一页
2020年9月15日
10、SPI
摘要: SPI的全称叫做Service Provider Interface,dubbo中大量使用这种服务发现机制,现在我们通过一个简单的例子来了解它是怎么运作的 @org.junit.Test public void test1() { ProxyFactory protocol = ExtensionL
阅读全文
posted @ 2020-09-15 12:31 zhen_hong
阅读(3)
评论(0)
推荐(0)
编辑
2020年7月25日
1、时间轮
摘要: 一、什么是时间轮? 作为一个粗人,咱不扯什么高级的词汇,直接上图: 上面是一张时间轮的示意图,可以看到,这个时间轮就像一个钟表一样,它有刻度,图中画了9个格子,每个格子表示时间精度,比如每个格子表示1s,那么转一圈就是9s, 对于钟表上的秒针来说它的最小刻度是1s,秒针转一圈就是60s。时间轮上每个
阅读全文
posted @ 2020-07-25 14:15 zhen_hong
阅读(0)
评论(0)
推荐(0)
编辑
2020年7月12日
8、CyclicBarrier
摘要: 一、类图 1.1 CyclicBarrier类基础 //珊栏 public class CyclicBarrier { //内部类,表示代,每次珊栏内线程容量达到指定容量后会进行换代,就简单理解为改朝换代吧 private static class Generation { //表示珊栏是否被破坏,
阅读全文
posted @ 2020-07-12 21:21 zhen_hong
阅读(1)
评论(0)
推荐(0)
编辑
2020年5月3日
1、源码分析例子
摘要: 下面用于分析源码的例子摘自《Netty权威指南 第二版》 本源码版本为5.0.0.Alpha1 server package com.netty.server; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Ch
阅读全文
posted @ 2020-05-03 23:24 zhen_hong
阅读(3)
评论(0)
推荐(0)
编辑
2020年4月2日
2、链表
摘要: 一、简介 1.1 结构体 1.1.1 链表每个节点的结构体 typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 void *value; } listNode;
阅读全文
posted @ 2020-04-02 19:38 zhen_hong
阅读(2)
评论(0)
推荐(0)
编辑
1、redis的简单动态字符串
摘要: 一、简介 1.1 结构体 struct sdshdr { //记录buf数组中已使用字节的数量 int len; //记录还未使用的长度 int free; //用于存放具体的字符串值 char buf[]; }; redis为什么要定义自己的字符串,而不是使用c自带的字符数组? 首先c自带的字符数
阅读全文
posted @ 2020-04-02 19:36 zhen_hong
阅读(2)
评论(0)
推荐(0)
编辑
2020年4月1日
18、Phaser
摘要: 一、Phaser 1.1 字段说明 //用于记录parties,phase //高32用于记录当前正在等待释放线程执行的阶段 //低32的高16位表示每一阶段可arrived的parties数量 //低32的低16位表示当前还剩多少parties未arrived private volatile l
阅读全文
posted @ 2020-04-01 18:41 zhen_hong
阅读(2)
评论(0)
推荐(0)
编辑
2020年3月29日
1、springboot的启动过程
摘要: 本篇文章是建立在spring源码分析系列文章之上的,只会对springBoot的启动过程进行大致分析,内部的什么bean的创建,占位符的解析不会再赘述 首先有下面一个例子 import org.springframework.boot.SpringApplication; import org.sp
阅读全文
posted @ 2020-03-29 11:00 zhen_hong
阅读(14)
评论(0)
推荐(0)
编辑
2019年11月9日
9、CountDownLatch
摘要: 一、类图 从类图中可以看到CountDownLatch有一个内部类Sync,那么可以肯定CountDownLatch是基于AQS来实现的 以下为CountDownLatch的构造函数 public CountDownLatch(int count) { if (count < 0) throw ne
阅读全文
posted @ 2019-11-09 22:09 zhen_hong
阅读(3)
评论(0)
推荐(0)
编辑
7、Semaphore
摘要: 一、类图 很简单,内部持有实现了AbstractQueuedSynchronizer的Sync,Sync为Semaphore的内部类,它没有什么特殊的成员变量,实现了基本的获取许可与释放的逻辑 二、许可的获取与释放 2.1 获取许可 //非公平锁 final int java.util.concur
阅读全文
posted @ 2019-11-09 19:35 zhen_hong
阅读(1)
评论(0)
推荐(0)
编辑
上一页
1
···
8
9
10
11
12
13
14
15
16
···
22
下一页