源码阅读

0 人感兴趣 · 16 次引用

  • 推荐
  • 最新
https://static001.geekbang.org/infoq/44/44c71d4d7f22e73f7632bb8d77f79b02.png?x-oss-process=image/resize,w_416,h_234

Nacos 如何实现服务自动注册

用户头像
编号94530 2020 年 9 月 20 日

接着上次的说,Nacos问题的分析。这次就来分享一下自己的分析方法。以及如何利用Spring事件完成服务注册。

https://static001.geekbang.org/infoq/b3/b340a7c223b2f35cb09b883a15fbf970.jpeg?x-oss-process=image/resize,w_416,h_234

基于数组的有界阻塞队列 —— ArrayBlockingQueue

用户头像
liuzhihang 2020 年 9 月 28 日

在阅读完和 AQS 相关的锁以及同步辅助器之后,来一起阅读 JUC 下的和队列相关的源码。先从第一个开始:ArrayBlockingQueue。

https://static001.geekbang.org/infoq/5f/5f46c8d3e9aa5a25efed825dee1aa556.jpeg?x-oss-process=image/resize,w_416,h_234

快来看看!AQS 和 CountDownLatch 有怎么样的关系?

用户头像
liuzhihang 2020 年 9 月 7 日

CountDownLatch 一个同步辅助工具,同样是基于 AQS 实现,本篇文件主要是介绍 CountDownLatch 的使用,以及源码。

https://static001.geekbang.org/infoq/9e/9e3107a6ebd8b9e8acf447175871ed31.jpeg?x-oss-process=image/resize,w_416,h_234

JDK 中居然也有反模式接口常量

用户头像
看山 2020 年 8 月 16 日

其实上面提到的JDK源码也能看出,从源码中学习,也得抱有怀疑的态度,毕竟,一个匠人也是从菜鸟成长起来的。

https://static001.geekbang.org/infoq/b4/b4f85662f718de5f455de59ba80f4227.jpeg?x-oss-process=image/resize,w_416,h_234

CountDownLatch 瞬间炸裂!同基于 AQS,凭什么 CyclicBarrier 可以这么秀?

用户头像
liuzhihang 2020 年 9 月 14 日

看完 CountDownLatch 正准备表示一番,突然看到了一个 CyclicBarrier —— 回环屏障。沃特?回环还屏障?说比 CountDownLatch 要多一个回环,那咱可得瞧一瞧,看一看了!

https://static001.geekbang.org/infoq/a1/a11f1d3ed1b9f4731462a475ea1cde84.jpeg?x-oss-process=image/resize,w_416,h_234

使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?

用户头像
liuzhihang 2020 年 9 月 21 日

在 JUC 中线程同步器除了 CountDownLatch 和 CycleBarrier ,还有一个叫做 Semaphore (信号量),同样是基于 AQS 实现的。下面来看看信号量的内部原理。

https://static001.geekbang.org/infoq/3b/3b71ac488548d19bbb2d7deee45fdc53.png?x-oss-process=image/resize,w_416,h_234

图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

用户头像
liuzhihang 2020 年 8 月 9 日

AbstractQueuedSynchronizer 抽象队列同步器,简称 AQS 。是在 JUC 包下面一个非常重要的基础组件,JUC 包下面的并发锁 ReentrantLock CountDownLatch 等都是基于 AQS 实现的。所以想进一步研究锁的底层原理,非常有必要先了解 AQS 的原理。

https://static001.geekbang.org/infoq/d6/d69e25ac176e7f940663854501d56c54.png?x-oss-process=image/resize,w_416,h_234

《Golang 工具 go doc 使用透析》

用户头像
卓丁 2020 年 6 月 13 日

本文主要包括2个方面: 1.Golang文档利器go doc之使用演示。 2.结合Golang源码透析示例进一步体验使用go doc工具的便利之处。

ArrayList 源码阅读

用户头像
慌张而黑糖 2020 年 7 月 9 日

对于ArrayList源码,我是初次阅读,可能有很多地方理解不正确,如果有错的话还请大家多多指教。

https://static001.geekbang.org/infoq/76/76d4e6fb79a9ec9ec46f76dc45ed70ae.jpeg?x-oss-process=image/resize,w_416,h_234

实现一个 redis 命令 --nonzerodecr

用户头像
老胡爱分享 2020 年 6 月 20 日

上篇文章介绍了命令的执行流程,对redis如何执行命令也有了初步的了解,通过实现一个redis命令来再次加深印象。

https://static001.geekbang.org/infoq/76/76d4e6fb79a9ec9ec46f76dc45ed70ae.jpeg?x-oss-process=image/resize,w_416,h_234

[深入理解 Redis]读取 RDB 文件

用户头像
老胡爱分享 2020 年 6 月 27 日

在做一个解析rdb文件的功能,途中遇到了一些问题,也解决了一些问题。具体为什么要做这件事情之后再详谈,本次主要想聊聊遇到的开始处理文件时遇到的第一个难题:理解RDB文件的协议、如何读取二进制文件。

https://static001.geekbang.org/infoq/f7/f7bfc525a1adf66f1b5780d4ddb041b3.jpeg?x-oss-process=image/resize,w_416,h_234

基于链表的有界阻塞队列 —— LinkedBlockingQueue

用户头像
liuzhihang 2020 年 10 月 4 日

上一节看了基于数据的有界阻塞队列 ArrayBlockingQueue 的源码,通过阅读源码了解到在 ArrayBlockingQueue 中入队列和出队列操作都是用了 ReentrantLock 来保证线程安全。下面咱们看另一种有界阻塞队列:LinkedBlockingQueue。

https://static001.geekbang.org/infoq/72/725b933e3b4498d57b5da49879c40b5b.jpeg?x-oss-process=image/resize,w_416,h_234

AQS 都看完了,Condition 原理可不能少!

用户头像
liuzhihang 2020 年 10 月 1 日

在介绍 AQS 时,其中有一个内部类叫做 ConditionObject,当时并没有进行介绍,并且在后续阅读源码时,会发现很多地方用到了 Condition ,这时就会很诧异,这个 Condition 到底有什么作用?。

https://static001.geekbang.org/infoq/93/93f30b3729af7c6bf9628c3fd631f1e7.jpeg?x-oss-process=image/resize,w_416,h_234

【荒于嬉】common pool2 源码阅读纪要

用户头像
luojiahu 2020 年 10 月 3 日

common pool2 通过后台定时任务维护池中对象,使其满足用户配置的空闲对象个数要求。

https://static001.geekbang.org/infoq/4e/4e4042452b271327748c10af6a370a43.jpeg?x-oss-process=image/resize,w_416,h_234

Netty 源码解析 -- 客户端启动过程

用户头像
binecy 2020 年 10 月 15 日

上一篇文章分享了Netty服务端启动过程,本文继续分享Netty客户端启动过程。

源码阅读_源码阅读资料文章-InfoQ写作平台