随笔 - 67  文章 - 0  评论 - 63  阅读 - 26万

随笔分类 -  自己动手造轮子

纸上得来终觉浅,绝知此事要躬行。最初引导我走上计算机这条道路的原因就是希望能够对计算机的工作原理一探究竟。在日常工作中,会接触许许多多的工具库,框架,编程语言等等,虽然借助文档和书籍能够使我基本掌握它们的用法,但依然是“知其然而不知其所以然”。我认为,要想真正的掌握并理解轮子最好的途径就是按照自己的思路去实现一个轮子。通过自己动手造轮子的过程,既能提升自己的编程水平,又能够加深对轮子的理解,更好的使用它们,最重要的是,这一过程对自我成就感和好奇心的满足是无以伦比的。
手写raft(三) 实现日志压缩
摘要:# 手写raft(三) 实现日志压缩 在上一篇博客中MyRaft实现了日志复制功能,按照计划接下来需要实现日志压缩。 * [手写raft(一) 实现leader选举](https://www.cnblogs.com/xiaoxiongcanguan/p/17569697.html) * [手写raf 阅读全文
posted @ 2023-08-31 21:39 小熊餐馆 阅读(583) 评论(0) 推荐(0) 编辑
手写raft(二) 实现日志复制
摘要:## 1. Raft日志复制介绍 在上一篇博客中MyRaft实现了leader选举,为接下来实现日志复制功能打下了基础: [手写raft(一) 实现leader选举](https://www.cnblogs.com/xiaoxiongcanguan/p/17569697.html) ##### 日志 阅读全文
posted @ 2023-08-16 21:41 小熊餐馆 阅读(560) 评论(0) 推荐(1) 编辑
手写raft(一) 实现leader选举
摘要:## 1. 一致性算法介绍 ### 1.1 一致性同步与Paxos算法 * 对可靠性有很高要求的系统,通常都会额外部署1至多个机器为备用副本组成主备集群,避免出现单点故障。 有状态的系统需要主节点与备用副本间以某种方式进行数据复制,这样主节点出现故障时就能快速的令备用机器接管系统以达到高可用的目的。 阅读全文
posted @ 2023-07-20 21:32 小熊餐馆 阅读(789) 评论(1) 推荐(2) 编辑
自己动手实现rpc框架(二) 实现集群间rpc通信
摘要:# 自己动手实现rpc框架(二) 实现集群间rpc通信 ## 1. 集群间rpc通信 上一篇博客中MyRpc框架实现了基本的点对点rpc通信功能。而在这篇博客中我们需要实现MyRpc的集群间rpc通信功能。 * [自己动手实现rpc框架(一) 实现点对点的rpc通信](https://www.cnb 阅读全文
posted @ 2023-07-06 21:35 小熊餐馆 阅读(391) 评论(2) 推荐(2) 编辑
自己动手实现rpc框架(一) 实现点对点的rpc通信
摘要:# 自己动手实现rpc框架(一) 实现点对点的rpc通信 ## 1. 什么是rpc? **RPC**是远过程调用(Remote Procedure Call)的缩写形式,其区别于一个程序内部基本的过程调用(或者叫函数/方法调用)。 ##### 随着应用程序变得越来越复杂,在单个机器上中仅通过一个进程 阅读全文
posted @ 2023-06-26 21:29 小熊餐馆 阅读(848) 评论(0) 推荐(1) 编辑
时间轮TimeWheel工作原理解析
摘要:时间轮工作原理解析 一.时间轮介绍 1.时间轮的简单介绍 时间轮(TimeWheel)作为一种高效率的计时器实现方案,在论文Hashed and Hierarchical Timing Wheels中被首次提出。 其被发明的主要目的在于解决当时操作系统的计时器功能实现中,维护一个定时器的开销随着所维 阅读全文
posted @ 2023-02-16 22:36 小熊餐馆 阅读(4056) 评论(1) 推荐(2) 编辑
jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析
摘要:jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析 在日常开发中存在着调度延时任务、定时任务的需求,而jdk中提供了两种基于内存的任务调度工具,即相对早期的java.util.Timer类和java.util.concurrent中的ScheduledThread 阅读全文
posted @ 2022-12-22 23:07 小熊餐馆 阅读(761) 评论(0) 推荐(1) 编辑
jdk线程池ThreadPoolExecutor优雅停止原理解析(自己动手实现线程池)(二)
摘要:jdk线程池工作原理解析(二) 本篇博客是jdk线程池ThreadPoolExecutor工作原理解析系列博客的第二篇,在第一篇博客中从源码层面分析了ThreadPoolExecutor在RUNNING状态下处理任务的核心逻辑,而在这篇博客中将会详细讲解jdk线程池ThreadPoolExecuto 阅读全文
posted @ 2022-11-17 22:55 小熊餐馆 阅读(1651) 评论(2) 推荐(0) 编辑
jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)
摘要:jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一) 线程池介绍 在日常开发中经常会遇到需要使用其它线程将大量任务异步处理的场景(异步化以及提升系统的吞吐量),而在使用线程的过程中却存在着两个痛点。 在java等很多主流语言中每个逻辑上的线程底层都对应着一个系统线 阅读全文
posted @ 2022-11-11 00:05 小熊餐馆 阅读(944) 评论(0) 推荐(1) 编辑
自己动手实现一个阻塞队列
摘要:1. 阻塞队列介绍 顾名思义,阻塞队列是一个具备先进先出特性的队列结构,从队列末尾插入数据,从队列头部取出数据。而阻塞队列与普通队列的最大不同在于阻塞队列提供了阻塞式的同步插入、取出数据的功能(阻塞入队put/阻塞出队take)。 使用put插入数据时,如果队列空间已满并不直接返回,而是令当前操作的 阅读全文
posted @ 2021-04-21 19:55 小熊餐馆 阅读(1551) 评论(3) 推荐(0) 编辑
java8 Stream的实现原理 (从零开始实现一个stream流)
摘要:1.从零开始实现stream流 1.1 java8 stream介绍 java8新增了stream流的特性,能够让用户以函数式的方式、更为简单的操纵集合等数据结构,并实现了用户无感知的并行计算。 1.2 从零开始实现一个stream流 相信很多人在使用过java8的streamAPI接口之后,都会对 阅读全文
posted @ 2019-03-14 22:12 小熊餐馆 阅读(41270) 评论(16) 推荐(24) 编辑
java 分库关联查询工具类
摘要:问题: 由于公司业务扩大,各个子系统陆续迁移和部署在不同的数据源上,这样方便扩容,但是因此引出了一些问题。 举个例子:在查询"订单"(位于订单子系统)列表时,同时需要查询出所关联的"用户"(位于账户子系统)的姓名,而这时由于数据存储在不同的数据源上,没有办法通过一条连表的sql获取到全部的数据,而是 阅读全文
posted @ 2018-11-01 00:19 小熊餐馆 阅读(1700) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示