学习之路手记

1.java

IO/NIO

Java面试常考的 BIO,NIO,AIO 总结
java.nio.Buffer 中的 flip()方法
NIO学习(八):Java NIO的Buffer的slice和asReadOnlyBuffer方法以及链式写法
ByteBuffer源码分析

Java8+

理解、学习与使用 JAVA 中的 OPTIONAL TODO 没看完

concurrent

【Java并发之】BlockingQueue

java中Condition类的详细介绍(详解) TODO 后半部分aqs那里还没看
Java并发编程之Phaser类

2.Netty

Netty channelRegistered\ChannelActive—源码分析 TODO 没看完

3.分布式

技术组件、功能

解读数据传输DTS技术架构及最佳实践

avro

关于Avro schema理解

paxos

  1. 首先,英语基础好的啃原文吧https://www.microsoft.com/en-us/research/uploads/prod/2016/12/paxos-simple-Copy.pdf
  2. 参考《从Paxos到Zookeeper 分布式一致性原理与实践》这本书中 page 34中的一些理论
  3. https://www.zhihu.com/question/19787937 中 GRAYLAMB的回答
  4. 理解算法的一些要点
    • 算法分为proposer和acceptor两个角色(以及最终的learner),proposer的核心思想是尽快达成选举一致(而不是把自己选为主)。过程分为prepare和accept
    • 整个过程可以理解为,在prepare阶段,在一次选主过程中(分布式的很多场景都可以通过选主解决,选主可以避免单点故障,也可以保证一致性)最开始所有proposer携带<k,v> 其中k是编号,v是提案。那么形象而言是,携带<时间戳A,空> 向acceptor发起一次prepare。假设此时
      • acceptor没有接受过任何人的prepare请求,那么直接返回<时间戳A,空>
      • acceptor接受过<时间戳1,serverId 1> <时间戳2,serverId 2> <时间戳3,serverId 3> 且 时间戳1、2、3中最大的是时间戳3,且时间戳3小于时间戳A。则响应<时间戳A,serverId 3>
      • acceptor接受过<时间戳1,serverId 1> <时间戳2,serverId 2> <时间戳3,serverId 3> 且 时间戳1、2、3中最大的是时间戳3,且时间戳3小于时间戳A。则拒绝响应
    • accept阶段,假设某个proposer接收到了超过半数acceptor的响应,则可以发起一次accept。其中携带的<k,v>是 <时间戳A,serverId 2 > (serverId2是响应中max时间戳对应的serverId,但存在一种情况,acceptor中的所有响应中都没有serverId,则此时携带自身的serverId(即没有发现任何已存在的其他候选人,则自己成为候选人))发起一次accept 此时
      • acceptor没有对 时间戳> 时间戳A的任何prepare请求响应过,则直接接受这次提案,返回ack
      • 当然,在proposer从得到prepare响应到发起accept请求这顿时间里,可能acceptor已经接收到别的时间戳更大的请求了,那么此时,acceptor将拒绝这次proposer的请求
    • 假设有半数acceptor都ack了 <时间戳A,serverId 2 > 这一次请求,则serverId 2 被选为主,将会主导后续的工作,包括learning等。否则,proposer将发起下一次prepare(更大的时间戳)(有发生 活锁 的可能)
    • learing 过程 TODO

Disruptor

高性能队列——Disruptor

线程模型

Actor的原理

HELIX

Apache Helix - Quick Start
Helix Javadoc
Apache Helix / Release 0.6.8 / Tutorial

4.MySql

  1. 【分片】

5.Redis

  1. 【bitMap】
  2. Lua脚本在redis分布式锁场景的运用

6.Tool

git

Git push 常见用法

7.算法

雪花算法(SnowFlake)Java实现

职业生涯

  1. 工作6年,失业19天
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值