Tag · page 2 of 2

源码

20 posts · All tags

技术1 min read中文

zookeeper源码学习-QuorumPeerMain

整个项目的启动入口 关系图 initializeAndRun main的主要内容,用于初始化配置,启动清除线程,run server runFromConfig 如果是分布式部署的话,会通过该函数进行节点的启动。如果是单节点的话,是通过ZooKeeperServerMain.main(args)的方式启动 所有代码

技术1 min read中文

zookeeper源码学习-整体流程

本文主要是记录自己在学习zookeeper源码时候的相关内容,主要研究了从zk启动,到完成leader选举的过程。重点是学习leader选举的过程,想配置文件读取这种只是做了大概的了解以及记录 源码的版本是 3.6.1 Quorum是一种分布式协议,在有N个节点的时候,如果某个提议被超过M个节点认可,则任务该提议通过

技术1 min read中文

ConcurrentHashMap源码解读

--- ConcurrentHashmap ConcurrentHashmap整体跟hashmap差不多,主要的区别是线程安全,并且不支持key和value为null ConcurrentHashmap在插入元素的时候会使用synchronized,保证了写的线程安全。在扩容的时候,将表划分成一个个独立的区域,然后每个…

技术1 min read中文

ConcurrentHashMap源码解读-算法部分

tableSizeFor 该算法相当奇妙,目的是输入一个数字c,然后返回离它最近的且值大于它的2的n次幂,例如输入7,返回8,输入123,返回128。 首先定义一个变量n为c-1,至于为什么为c-1,之后会说到。 我们输入c=13来带入计算一下 这里我们可以回头看上面的第一步,n = c-1,如果不执行c-1的话,我们…