<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[rekingman的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/rekingman</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; rekingman]]></copyright><item><title><![CDATA[possibly undefined macro: AC_PROG_LIBTOOL]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/116028639</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/116028639</guid><author>rekingman</author><pubDate>Thu, 22 Apr 2021 19:41:32 +0800</pubDate><description><![CDATA[解决方案

尝试安装libtool库




//centos
yum install libtool

如果以上安装完还不能解决，请按如下操作：

用于查找宏文件的搜索路径是定义的路径--prefix，默认情况下通常为/usr/local。所以对于AUTOCONF将被安装到一个包/usr/local的搜索/usr/local/share/aclocal-APIVERSION和/usr/local/share/aclocal
	在包括CentOS7在内的许多发行版中，的七个宏文件libtools都安装在：/]]></description><category></category></item><item><title><![CDATA[DirectIO(O_DIRECT) 详解]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/109037276</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/109037276</guid><author>rekingman</author><pubDate>Mon, 12 Oct 2020 21:21:47 +0800</pubDate><description><![CDATA[DirectIO(O_DIRECT) 详解
文章目录DirectIO(O_DIRECT) 详解什么是DirectIO如何使用DirectIODirectIO的性能DirectIO的应用
什么是DirectIO
DirectIO也叫无缓冲IO，裸IO（rawIO），意思是使用无缓冲IO对文件进行读写，不会经过OS Cache。

通常，我们使用的文件流读取、内存映射都属于Cache IO，因为将数据写入文件，首先会写入cache，最终再落盘到IO device 或者称为 disk上。cache IO使得我们在]]></description><category></category></item><item><title><![CDATA[google test 测试框架的安装和使用]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/108855701</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/108855701</guid><author>rekingman</author><pubDate>Mon, 28 Sep 2020 19:14:04 +0800</pubDate><description><![CDATA[Google test usage
文章目录Google test usage介绍安装静态库安装内嵌安装使用TESTTEST_F
介绍
gtest是google开源的C++测试库，用于执行Unit Test或者是Mock Test都十分方便。虽然很多时候，开发写的代码最终功能会有测试来测试，但是，基本单元测试是每个开发者必须的，至少保证你写的东西符合你的预期。很多测试框架，而gtest至少不用说测试编写之后，还需要去列出调用所有的测试方法，只需要RUN_ALL_TESTS宏即可。
安装
静态库安装

下载源]]></description><category></category></item><item><title><![CDATA[讲讲MySQL的分区]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/108059423</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/108059423</guid><author>rekingman</author><pubDate>Mon, 17 Aug 2020 16:55:12 +0800</pubDate><description><![CDATA[讲讲MySQL的分区
文章目录讲讲MySQL的分区导言什么是分区分区特性如何管理分区创建表格指定磁盘分区查看分区基准测试分区劣势分区劣势
导言
随着MySQL越来越流行，Mysql里面的保存的数据也越来越大。在日常的工作中，我们经常遇到一张表里面保存了上亿甚至过十亿的记录。这些表里面保存了大量的历史记录。 对于这些历史数据的清理是一个非常头疼事情，由于所有的数据都一个普通的表里。所以只能是启用一个或多个带where条件的delete语句去删除（一般where条件是时间）。 这对数据库的造成了很大压力。即使我]]></description><category></category></item><item><title><![CDATA[基于Raft算法设计分布式一致性存储Raft-KV]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/107717594</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/107717594</guid><author>rekingman</author><pubDate>Fri, 31 Jul 2020 17:16:36 +0800</pubDate><description><![CDATA[Raft-KV
文章目录Raft-KVRaft算法算法LiveData 模拟实现仓库
Raft算法
raft算法是一个分布式一致性算法，发布于Paxos、ZAB之后的一致性算法，raft算法相比前两者，读起来更容易（这并不意味着raft就是很容易读懂的）。本文只讲基于raft算法实现kv分布式存储应用，不对raft细节作过多的描述。
算法
以下是算法地址：
raft
LiveData 模拟
以下是模拟的地址：
LIVEDATA
实现仓库
raft-kv
以上的仓库是代码的实现，只需讲代码的模块copy三份，]]></description><category></category></item><item><title><![CDATA[手写C++线程池]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/107482458</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/107482458</guid><author>rekingman</author><pubDate>Tue, 21 Jul 2020 10:27:33 +0800</pubDate><description><![CDATA[目录引言设计实现总结
引言
由于c++标准库没有提供线程池，但是很多时候，我们需要使用线程池来执行任务从而提高效率，这也避免了频繁的启动、终止线程所带来的损耗。
设计

由于C++在不同平台有不同的线程实现，因此，为了保证跨平台化与通用性，这里采用标准库的thread
可以仿造JDK的ThreadPool原理，提供拒绝策略，提供任务队列
利用function&lt;void()&gt;、STL的完美转发、获取返回值等方式来实现

实现
#ifndef THREAD_POOL_H
#define THREAD]]></description><category></category></item><item><title><![CDATA[Linux安装gflags库]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/107447990</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/107447990</guid><author>rekingman</author><pubDate>Sun, 19 Jul 2020 17:09:12 +0800</pubDate><description><![CDATA[Linux安装gflags库
个人使用gflags作为linux-C的命令行解析工具依赖库，记录安装过程以及一些坑：
安装
克隆源码
git clone https://github.com/gflags/gflags

编译安装
cd gflags

mkdir build

cd build

cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTAL]]></description><category></category></item><item><title><![CDATA[IO模型与IO多路复用]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/104243041</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/104243041</guid><author>rekingman</author><pubDate>Mon, 10 Feb 2020 01:52:41 +0800</pubDate><description><![CDATA[Linux下的五大网络IO模型
文章目录Linux下的五大网络IO模型引言IO模型阻塞IO非阻塞IOIO复用信号驱动IO异步IO深入IO复用模型select基础原理运行机制与说明存在问题poll基础原理运行机制与说明存在问题epoll基础原理运行机制与说明具体描述工作流程LTET
引言
在讲IO模型之前，我们先了解了解Linux进程数据通信。一个应用程序对于OS来说，就是一个进程，进程拥有与其它进...]]></description><category></category></item><item><title><![CDATA[Java堆外内存探索]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/104217591</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/104217591</guid><author>rekingman</author><pubDate>Fri, 07 Feb 2020 23:30:26 +0800</pubDate><description><![CDATA[Java堆外内存探索
文章目录Java堆外内存探索引言YGC上的探索讲讲如何使用堆外内存UnSafe应用场景
引言
“墙内的人想尽办法要出去，墙外的人拼了命想进去”
作为一位Java的使用者，从一开始，JVM就帮我们处理好内存的分配回收问题，很多时候，我们也不用考虑这些问题。但是，随着越来越深入地使用Java，我们愈发觉得如果能够帮JVM减少一些重担，能够手动对内存进行控制，那么该多好！
YGC上...]]></description><category></category></item><item><title><![CDATA[Java-GC-垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/104198361</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/104198361</guid><author>rekingman</author><pubDate>Thu, 06 Feb 2020 16:38:44 +0800</pubDate><description><![CDATA[Java垃圾回收机制
文章目录Java垃圾回收机制引言GC概念GC的区域GC分析算法再谈引用堆内存回收方法区回收GC的时机GC算法标记清除标记整理复制算法分代回收算法垃圾回收器1.Serial收集器2. 并行收集器2.1 ParNew2.2 Parallel收集器3. CMS收集器4. G1收集器总结回收器GC机制的使用
引言
“两者之间存在一堵由内存分配与GC技术筑建起来的高墙，墙里面的人想出去...]]></description><category></category></item><item><title><![CDATA[Java内存区域]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/104196592</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/104196592</guid><author>rekingman</author><pubDate>Thu, 06 Feb 2020 15:06:43 +0800</pubDate><description><![CDATA[Java内存区域与OOM
文章目录Java内存区域与OOM引言概述内存区域程序计数器VM Stack虚拟机栈Native Stack本地方法栈Heap堆内存方法区与常量池Direct Memory直接内存讲讲OOM总结
引言
一句契合Java/C++使用者的话，“两者之间存在一堵由内存分配与GC技术筑建起来的高墙，墙里面的人想出去，墙外面的人却想进来”。
概述
Java有着自动的内存分配管理机制，...]]></description><category></category></item><item><title><![CDATA[分布式锁实现原理之深入redis、浅谈zookeeper与mysql]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/104107133</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/104107133</guid><author>rekingman</author><pubDate>Wed, 29 Jan 2020 15:16:59 +0800</pubDate><description><![CDATA[分布式锁实现原理之深入redis、浅谈zookeeper与mysql
文章目录分布式锁实现原理之深入redis、浅谈zookeeper与mysql回顾redis分布式锁redis分布式锁的发展redission分布式锁原理可重入独占锁读写锁读锁实现写锁实现联锁红锁公平锁浅谈mysql、zk分布式锁mysqlzookeeper
回顾
在上一篇中https://blog.youkuaiyun.com/reking...]]></description><category></category></item><item><title><![CDATA[分布式锁应用篇]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/104035265</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/104035265</guid><author>rekingman</author><pubDate>Sun, 19 Jan 2020 00:54:59 +0800</pubDate><description><![CDATA[分布式锁的应用篇章
文章目录分布式锁的应用篇章什么是分布式锁为什么使用基础特性分布式的应用场景场景一 消费分布式锁的Sample Guidence数据库DAO层错误结果总结Sample
什么是分布式锁

为了防止分布式系统中的多个进程之间在操作某一临界区时相互干扰，我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。

为什么使用

我们都知道，在单点...]]></description><category></category></item><item><title><![CDATA[看懂DNS到HttpDNS]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/103940919</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/103940919</guid><author>rekingman</author><pubDate>Sat, 11 Jan 2020 21:34:45 +0800</pubDate><description><![CDATA[看懂DNS到HttpDNS
文章目录看懂DNS到HttpDNSDNS什么是DNS以及DNS的作用为何需要DNS解析域名成IP简单域名知识DNS解析流程本地DNSDNS解析总结基于UDP协议的DNS问题DNS劫持DNS污染HttpDNS什么是HttpDNS作用存在问题应用场景
DNS
什么是DNS以及DNS的作用

DNS（Domain Name System）域名系统，作为域名与IP的映射的一个分...]]></description><category></category></item><item><title><![CDATA[LRU缓存的设计]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/103932145</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/103932145</guid><author>rekingman</author><pubDate>Fri, 10 Jan 2020 23:48:46 +0800</pubDate><description><![CDATA[LRU缓存设计
文章目录LRU缓存设计什么是LRULRU缓存设计设计步骤代码实现
什么是LRU

概念

LRU的初始设计与应用是在操作系统中的虚拟存储模块上，它作为操作系统的虚拟页面置换的算法，得到了广泛的应用。


特点与应用

由于操作系统的页表大小有限，页面项的数量也有限，当我们访问某个物理块的时候，可能产生缺页中断，这个时候操作系统就会触发调页请求，从外存置换对应的物理页进入内存，提供访...]]></description><category></category></item><item><title><![CDATA[Spring,SpringBoot如何做组件的扫描]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/103874003</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/103874003</guid><author>rekingman</author><pubDate>Tue, 07 Jan 2020 14:30:46 +0800</pubDate><description><![CDATA[Spring,SpringBoot如何做组件的扫描
文章目录Spring,SpringBoot如何做组件的扫描引言Spring扫描假设分析在哪里怎么扫SpringBoot扫描思想体现点扫描相关分析实现
很久没有提笔写博客了，手都生疏了，最近有朋友遇到疑惑问我，Spring,SpringBoot是如何做的扫描工作的，在给他解答之后，决定动手写一篇博客说明。
引言
大家想想spring中是如何做的声明...]]></description><category></category></item><item><title><![CDATA[业务心得]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/102642973</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/102642973</guid><author>rekingman</author><pubDate>Sat, 19 Oct 2019 20:57:58 +0800</pubDate><description><![CDATA[浅谈业务
文章目录浅谈业务引言一、利用bitmap统计持续访问的用户ID与持续访问量二、使用bitmap对学生考勤记录进行统计三、基于BloomFliter的网关设计四、出租车大数据之某车牌是否在某块区域出现过五、redis4.0拓展之bloomfilter
引言
在过去一段时间里，我接触了在内存不足的情况下对于部分大数据业务的处理，以下是我的处理心得体会。
一、利用bitmap统计持续访问的用户...]]></description><category></category></item><item><title><![CDATA[Mapreduce计算框架]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/101525018</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/101525018</guid><author>rekingman</author><pubDate>Fri, 27 Sep 2019 12:21:03 +0800</pubDate><description><![CDATA[Mapreduce计算框架
文章目录Mapreduce计算框架介绍计算原理Shuffle混洗的详解Spill环型结构的运行机制MapReduce的瓶颈MergeCopy工作机制Mapreduce1.xA.架构组成B.执行流程Mapreduce2.xA.架构组成B.执行流程C.采用Yarn的优势优化思路demo
介绍
​	MapReduce是一个计算框架，它的原理是Google的MR并行计算思想，它...]]></description><category></category></item><item><title><![CDATA[那就谈谈跨域问题]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/100389516</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/100389516</guid><author>rekingman</author><pubDate>Mon, 02 Sep 2019 21:16:15 +0800</pubDate><description><![CDATA[从前端、后台的角度谈论跨域
文章目录从前端、后台的角度谈论跨域什么是跨域跨域带来的常见问题1、403禁止访问2、使用Cookie(session)丢失从原理上解析
什么是跨域

浏览器存在着域这个概念，这个概念是为了安全而定义的，理论上来讲，为了保证请求是安全的，应该采用同域部署的方式，但是随着互联网发展，大型的分布式架构出现之后，同域从某种层面上来讲的拓展性不好，也不方便测试，因此，有了跨域这个...]]></description><category></category></item><item><title><![CDATA[TCP backlog的解读]]></title><link>https://blog.youkuaiyun.com/rekingman/article/details/100009017</link><guid>https://blog.youkuaiyun.com/rekingman/article/details/100009017</guid><author>rekingman</author><pubDate>Thu, 22 Aug 2019 10:14:00 +0800</pubDate><description><![CDATA[TCP backlog参数
文章目录TCP backlog参数介绍底层syns queueaccept queue应用层解决方案
介绍

在实际生产环境中使用netty的过程中，遇到了一个奇怪的坑，就是backlog参数，明明设置得很大了，但是还是不生效，使得server在TCP连接数上来的时候，就会发送ECONNREFUSED给client以示拒绝。
这触及到我的知识盲区，因此我决定加以探索并且...]]></description><category></category></item></channel></rss>