源码
-
万字聊一聊RocketMQ一条消息短暂而又精彩的一生
当Broker在启动的过程中,Broker就会往NameServer注册自己这个Broker的信息,这些信息就包括自身所在服务器的ip和端口,还有就是自己这个Broker有哪些topic和对应的队列信息,这些信息就是路由信息,后面就统一称为路由表。
-
为了学习分库分表,我把 Cobar 源码抄了一遍
Cobar 开源后,我迫不及待的的去下载部署包,配置两个分库同样一张表,在两个库分别手工插入 1 条记录,然后通过 Navicat 连接 Cobar 暴露的端口,竟然发现数据表显示两条数据 。
-
为什么要看 Python 源码?它的结构长什么样子?
如果你了解 Java,那么应该知道 Java 也有编译器和虚拟机。只不过 Java 的编译器和虚拟机是分开的,而 Python 则是整合在一起的。
-
Java并发编程:深入剖析CyclicBarrier源码
CyclicBarrier主要用来控制线程的执行速率,初始化时指定线程数,线程调用await()方法时会阻塞,直到到达的线程数等于初始线程数,才会放行,并且一起执行。与CountDownLatch区别是,CyclicBarrier可以循环执行,而CountDownLatch只能执行一次。
-
抽丝剥茧:从 Linux 源码探索 eBPF 的实现
BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB 是 socket.accept() 接受连接请求并完成连接建立的操作符,也是众多 `sock_ops` 操作符[40] 中的一个。这些操作符,可以被看作是 事件 Event[41],程序的触发则是由事件驱动的。
-
深入源码和内核,一篇文章彻底理解数据库的各种超时参数
连接超时,即 connectTimeout,有时也被称为 网络超时 NetworkTimeout,是驱动程序建立 JDBC 底层的 TCP 连接的超时时间。
-
还不了解Java的五大BlockingQueue阻塞队列源码,看这篇文章就够了
大家用过消息队列(MessageQueue),就知道消息队列作用是解耦、异步、削峰。同样BlockingQueue的作用也是这三种,区别是BlockingQueue只作用于本机器,而消息队列相当于分布式BlockingQueue。
-
没研究过SynchronousQueue源码,就别写精通线程池
无论是ArrayBlockingQueue还是LinkedBlockingQueue都是起到缓冲队列的作用,当消费者的消费速度跟不上时,任务就在队列中堆积,需要等待消费者慢慢消费。
-
没看过ArrayBlockingQueue源码,就别说精通线程池
今天一起分析了ArrayBlockingQueue队列的源码,可以看到ArrayBlockingQueue的源码非常简单,没有什么神秘复杂的东西,下篇文章再一起接着分析其他的阻塞队列源码。
-
一篇学会SpringBoot自动装配
学习源码的过程中如果不了解源码的整体思路,直接看代码会迷失在源码的海洋中。要了解代码的整体脉络,以总-分-总的方式去学习,学会舍弃部分无关的代码,才能高效的阅读和学习源码,从中汲取到代码的精华所在,提升自己的编程能力。
-
一篇学会SpringBoot自动装配
学习源码的过程中如果不了解源码的整体思路,直接看代码会迷失在源码的海洋中。要了解代码的整体脉络,以总-分-总的方式去学习,学会舍弃部分无关的代码,才能高效的阅读和学习源码,从中汲取到代码的精华所在,提升自己的编程能力。
-
ThreadLocal:多线程环境下的神秘武器
如何实现子线程获取父线程保存的值的呢?下面代码是thread类的源码,在创建一个线程时,thread初始化的innt方法中会去判断父线程的inheritThreadLocals中是否有值,如果有,直接赋值给子线程。
-
改造Sentinel源码,实现Nacos双向通信!
Sentinel Dashboard 默认情况下,只能将配置规则保存到内存中,这样就会程序重启后配置规则丢失的情况,因此我们需要给 Sentinel 设置一个数据源,并且要和数据源之间实现双向通讯,所以我们需要修改 Sentinel 的源码。
-
ARM SCP入门-AP与SCP通信
SCP入门系列就算讲完了,有规范有源码,有一点缺陷就是没用qmeu运行起来,官方也没给出,只说用ARM的Fixed Virtual Platform (FVP)能运行,不熟悉操作起来估计有点费劲对PC要求也高,这个SCP也比较小众在大规模的SoC上才有应用,提出的挺早但是应用的还是不多。
-
聊聊一段让人抓心挠肝的源码
我今天想和各位小伙伴聊的其实还不是这个问题,而是在上面的 Spring 源码中,factoryBean 变量是在 if 分支中定义的,按理说,它的作用域就存在于 if 分支中,但是各位小伙伴注意,factoryBean 变量却可以在下面的 if 中使用,这是咋回事呢?