240 发简信
IP属地:安徽
  • Resize,w 360,h 240
    Linux虚拟内存管理与JVM内存reserved/committed含义

    1.Linux虚拟内存管理 当程序运行起来之后就变成了进程,业务数据结构的引用在进程的视角里全都都是虚拟内存地址,因为进程无论是在用户态还是在内...

  • Resize,w 360,h 240
    Java进程内存组成

    1.组成部分 Java内存分为两部分: 堆内存堆内存由GC垃圾回收期进行管理。 非堆内存非堆内存包括:Java方法栈、本地方法栈、元空间Meta...

    0.1 63 0 1
  • Resize,w 360,h 240
    JRaft源码剖析4-图解JRaft源码

    1.Leader选举 1.1 预选举 1.2 正式选举 1.3 Leader降级 2.日志复制 2.1 日志生成 2.2 pipeline机制 ...

    0.2 99 0 1
  • JRaft源码剖析4-快照机制

    1.为什么引入快照机制? 快照机制本质上也是一种对日志数据复制的优化手段。 两个问题: 1)因为日志数据需要落盘存储,当日志数据量大到磁盘空间无...

  • JRaft源码剖析3-日志复制

    1.日志复制原理 Raft 中的日志主要可以分为两类: 一类是协议自身运行所生成的日志,例如集群节点配置变更信息; 另外一类就是用户向集群提交的...

  • JRaft源码剖析2-Leader选举

    1.term 和 logIndex Raft 算法设计了 term 和 logIndex 两个属性,分别用于表示 Leader 节点的任期,以及...

  • JRaft源码剖析1-节点启动过程

    1.RpcServer 添加系统自带的processors。RaftRpcServerFactory#addRaftRequestProcess...

  • Resize,w 360,h 240
    golang pprof

    0.flat/cum含义 针对CPU:Total:总共采样次数,这里是2525次。Flat:函数在样本中处于运行状态的次数。简单来说就是函数出现...

  • golang死锁

    1.sync.Mutex 在Go语言的sync包中,sync.Mutex是不可重入的互斥锁。这与Java可重入锁改变不同。 也就是说,当一个go...

个人介绍
叠加思维,持续积累