自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 possibly undefined macro: AC_PROG_LIBTOOL

解决方案尝试安装libtool库//centosyum install libtool如果以上安装完还不能解决,请按如下操作:用于查找宏文件的搜索路径是定义的路径--prefix,默认情况下通常为/usr/local。所以对于AUTOCONF将被安装到一个包/usr/local的搜索/usr/local/share/aclocal-APIVERSION和/usr/local/share/aclocal 在包括CentOS7在内的许多发行版中,的七个宏文件libtools都安装在:/

2021-04-22 19:41:32 669

原创 DirectIO(O_DIRECT) 详解

DirectIO(O_DIRECT) 详解文章目录DirectIO(O_DIRECT) 详解什么是DirectIO如何使用DirectIODirectIO的性能DirectIO的应用什么是DirectIODirectIO也叫无缓冲IO,裸IO(rawIO),意思是使用无缓冲IO对文件进行读写,不会经过OS Cache。通常,我们使用的文件流读取、内存映射都属于Cache IO,因为将数据写入文件,首先会写入cache,最终再落盘到IO device 或者称为 disk上。cache IO使得我们在

2020-10-12 21:21:47 11848

原创 google test 测试框架的安装和使用

Google test usage文章目录Google test usage介绍安装静态库安装内嵌安装使用TESTTEST_F介绍gtest是google开源的C++测试库,用于执行Unit Test或者是Mock Test都十分方便。虽然很多时候,开发写的代码最终功能会有测试来测试,但是,基本单元测试是每个开发者必须的,至少保证你写的东西符合你的预期。很多测试框架,而gtest至少不用说测试编写之后,还需要去列出调用所有的测试方法,只需要RUN_ALL_TESTS宏即可。安装静态库安装下载源

2020-09-28 19:14:04 2219

原创 讲讲MySQL的分区

讲讲MySQL的分区文章目录讲讲MySQL的分区导言什么是分区分区特性如何管理分区创建表格指定磁盘分区查看分区基准测试分区劣势分区劣势导言随着MySQL越来越流行,Mysql里面的保存的数据也越来越大。在日常的工作中,我们经常遇到一张表里面保存了上亿甚至过十亿的记录。这些表里面保存了大量的历史记录。 对于这些历史数据的清理是一个非常头疼事情,由于所有的数据都一个普通的表里。所以只能是启用一个或多个带where条件的delete语句去删除(一般where条件是时间)。 这对数据库的造成了很大压力。即使我

2020-08-17 16:55:12 427

原创 基于Raft算法设计分布式一致性存储Raft-KV

Raft-KV文章目录Raft-KVRaft算法算法LiveData 模拟实现仓库Raft算法raft算法是一个分布式一致性算法,发布于Paxos、ZAB之后的一致性算法,raft算法相比前两者,读起来更容易(这并不意味着raft就是很容易读懂的)。本文只讲基于raft算法实现kv分布式存储应用,不对raft细节作过多的描述。算法以下是算法地址:raftLiveData 模拟以下是模拟的地址:LIVEDATA实现仓库raft-kv以上的仓库是代码的实现,只需讲代码的模块copy三份,

2020-07-31 17:16:36 1176

原创 手写C++线程池

目录引言设计实现总结引言由于c++标准库没有提供线程池,但是很多时候,我们需要使用线程池来执行任务从而提高效率,这也避免了频繁的启动、终止线程所带来的损耗。设计由于C++在不同平台有不同的线程实现,因此,为了保证跨平台化与通用性,这里采用标准库的thread可以仿造JDK的ThreadPool原理,提供拒绝策略,提供任务队列利用function<void()>、STL的完美转发、获取返回值等方式来实现实现#ifndef THREAD_POOL_H#define THREAD

2020-07-21 10:27:33 1485

原创 Linux安装gflags库

Linux安装gflags库个人使用gflags作为linux-C的命令行解析工具依赖库,记录安装过程以及一些坑:安装克隆源码git clone https://github.com/gflags/gflags编译安装cd gflagsmkdir buildcd buildcmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTAL

2020-07-19 17:09:12 3277 2

原创 IO模型与IO多路复用

Linux下的五大网络IO模型文章目录Linux下的五大网络IO模型引言IO模型阻塞IO非阻塞IOIO复用信号驱动IO异步IO深入IO复用模型select基础原理运行机制与说明存在问题poll基础原理运行机制与说明存在问题epoll基础原理运行机制与说明具体描述工作流程LTET引言在讲IO模型之前,我们先了解了解Linux进程数据通信。一个应用程序对于OS来说,就是一个进程,进程拥有与其它进...

2020-02-10 01:52:41 878 1

原创 Java堆外内存探索

Java堆外内存探索文章目录Java堆外内存探索引言YGC上的探索讲讲如何使用堆外内存UnSafe应用场景引言“墙内的人想尽办法要出去,墙外的人拼了命想进去”作为一位Java的使用者,从一开始,JVM就帮我们处理好内存的分配回收问题,很多时候,我们也不用考虑这些问题。但是,随着越来越深入地使用Java,我们愈发觉得如果能够帮JVM减少一些重担,能够手动对内存进行控制,那么该多好!YGC上...

2020-02-07 23:30:26 742

原创 Java-GC-垃圾回收机制

Java垃圾回收机制文章目录Java垃圾回收机制引言GC概念GC的区域GC分析算法再谈引用堆内存回收方法区回收GC的时机GC算法标记清除标记整理复制算法分代回收算法垃圾回收器1.Serial收集器2. 并行收集器2.1 ParNew2.2 Parallel收集器3. CMS收集器4. G1收集器总结回收器GC机制的使用引言“两者之间存在一堵由内存分配与GC技术筑建起来的高墙,墙里面的人想出去...

2020-02-06 16:38:44 2652

原创 Java内存区域

Java内存区域与OOM文章目录Java内存区域与OOM引言概述内存区域程序计数器VM Stack虚拟机栈Native Stack本地方法栈Heap堆内存方法区与常量池Direct Memory直接内存讲讲OOM总结引言一句契合Java/C++使用者的话,“两者之间存在一堵由内存分配与GC技术筑建起来的高墙,墙里面的人想出去,墙外面的人却想进来”。概述Java有着自动的内存分配管理机制,...

2020-02-06 15:06:43 808

原创 分布式锁实现原理之深入redis、浅谈zookeeper与mysql

分布式锁实现原理之深入redis、浅谈zookeeper与mysql文章目录分布式锁实现原理之深入redis、浅谈zookeeper与mysql回顾redis分布式锁redis分布式锁的发展redission分布式锁原理可重入独占锁读写锁读锁实现写锁实现联锁红锁公平锁浅谈mysql、zk分布式锁mysqlzookeeper回顾在上一篇中https://blog.csdn.net/reking...

2020-01-29 15:16:59 1457

原创 分布式锁应用篇

分布式锁的应用篇章文章目录分布式锁的应用篇章什么是分布式锁为什么使用基础特性分布式的应用场景场景一 消费分布式锁的Sample Guidence数据库DAO层错误结果总结Sample什么是分布式锁为了防止分布式系统中的多个进程之间在操作某一临界区时相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。为什么使用我们都知道,在单点...

2020-01-19 00:54:59 1443

原创 看懂DNS到HttpDNS

看懂DNS到HttpDNS文章目录看懂DNS到HttpDNSDNS什么是DNS以及DNS的作用为何需要DNS解析域名成IP简单域名知识DNS解析流程本地DNSDNS解析总结基于UDP协议的DNS问题DNS劫持DNS污染HttpDNS什么是HttpDNS作用存在问题应用场景DNS什么是DNS以及DNS的作用DNS(Domain Name System)域名系统,作为域名与IP的映射的一个分...

2020-01-11 21:34:45 8773

原创 LRU缓存的设计

LRU缓存设计文章目录LRU缓存设计什么是LRULRU缓存设计设计步骤代码实现什么是LRU概念LRU的初始设计与应用是在操作系统中的虚拟存储模块上,它作为操作系统的虚拟页面置换的算法,得到了广泛的应用。特点与应用由于操作系统的页表大小有限,页面项的数量也有限,当我们访问某个物理块的时候,可能产生缺页中断,这个时候操作系统就会触发调页请求,从外存置换对应的物理页进入内存,提供访...

2020-01-10 23:48:46 2036

原创 Spring,SpringBoot如何做组件的扫描

Spring,SpringBoot如何做组件的扫描文章目录Spring,SpringBoot如何做组件的扫描引言Spring扫描假设分析在哪里怎么扫SpringBoot扫描思想体现点扫描相关分析实现很久没有提笔写博客了,手都生疏了,最近有朋友遇到疑惑问我,Spring,SpringBoot是如何做的扫描工作的,在给他解答之后,决定动手写一篇博客说明。引言大家想想spring中是如何做的声明...

2020-01-07 14:30:46 2274 2

原创 业务心得

浅谈业务文章目录浅谈业务引言一、利用bitmap统计持续访问的用户ID与持续访问量二、使用bitmap对学生考勤记录进行统计三、基于BloomFliter的网关设计四、出租车大数据之某车牌是否在某块区域出现过五、redis4.0拓展之bloomfilter引言在过去一段时间里,我接触了在内存不足的情况下对于部分大数据业务的处理,以下是我的处理心得体会。一、利用bitmap统计持续访问的用户...

2019-10-19 20:57:58 268 5

原创 Mapreduce计算框架

Mapreduce计算框架文章目录Mapreduce计算框架介绍计算原理Shuffle混洗的详解Spill环型结构的运行机制MapReduce的瓶颈MergeCopy工作机制Mapreduce1.xA.架构组成B.执行流程Mapreduce2.xA.架构组成B.执行流程C.采用Yarn的优势优化思路demo介绍​ MapReduce是一个计算框架,它的原理是Google的MR并行计算思想,它...

2019-09-27 12:21:03 1682

原创 那就谈谈跨域问题

从前端、后台的角度谈论跨域文章目录从前端、后台的角度谈论跨域什么是跨域跨域带来的常见问题1、403禁止访问2、使用Cookie(session)丢失从原理上解析什么是跨域浏览器存在着域这个概念,这个概念是为了安全而定义的,理论上来讲,为了保证请求是安全的,应该采用同域部署的方式,但是随着互联网发展,大型的分布式架构出现之后,同域从某种层面上来讲的拓展性不好,也不方便测试,因此,有了跨域这个...

2019-09-02 21:16:15 311

原创 TCP backlog的解读

TCP backlog参数文章目录TCP backlog参数介绍底层syns queueaccept queue应用层解决方案介绍在实际生产环境中使用netty的过程中,遇到了一个奇怪的坑,就是backlog参数,明明设置得很大了,但是还是不生效,使得server在TCP连接数上来的时候,就会发送ECONNREFUSED给client以示拒绝。这触及到我的知识盲区,因此我决定加以探索并且...

2019-08-22 10:14:00 2685

原创 可变状态带来的线程安全问题

可变状态带来的线程安全问题文章目录可变状态带来的线程安全问题什么是可变状态隐藏的可变状态如何解决隐藏的可变状态总结什么是可变状态可变状态即一个对象是可变的,换句话说,就是数据是可变的,对于多线程来讲,线程间共享的数据是共享可变状态,对于不变的数据,多线程不用使用锁就可以安全地进行访问。可以这么说,数据的可变状态导致被多线程访问时候存在线程安全问题。隐藏的可变状态在我们的正常理解中,解决可...

2019-08-21 11:09:39 250

原创 交替锁实现线程安全链表

交替锁实现线程安全链表文章目录交替锁实现线程安全链表常见的线程安全链表1、Synchronized2、ReentrantReadWriteLock交替锁的实现原理交替锁的实现源码常见的线程安全链表1、Synchronized @Deprecated public synchronized void insert(int value) { throw new Unsuppor...

2019-08-20 17:00:16 520

原创 一种基于内存计算的流式数据处理模型

一种基于内存计算的流式数据处理模型文章目录一种基于内存计算的流式数据处理模型介绍组成重要概念Spark Streaming1、receiver(AWL)2、direct3、demo4、窗口概念总结介绍​ 这是一种基于Spark内存计算框架的实时流式处理模型,可用于预处理数据、实时数据统计、实时数据分析等方面。组成以下,是这个流式数据处理模型的重要组成部分:Spark Streamin...

2019-08-20 09:47:48 904

原创 Spark如何自动提交计算任务

Spark如何自动提交计算任务文章目录Spark如何自动提交计算任务引言Launcher集成SpringBoot附录依赖引言​ 最近在接触分布式计算这方面,但是遇到了一个问题,就是通常提交一个Spark计算任务,都是打包后通过Spark提交工具进行提交,但是,这样子很不方便,能不能把Spark任务的提交设计成调用型的呢?Launcher​ Spark Launcher是一个可以代替Spa...

2019-08-15 15:42:14 597

原创 分布式理论之BASE

BASE理论文章目录BASE理论IntroductionBasically AvailableSoft stateEventually consistentExtensionCausal consistencyRead your writesSession consistencyMonotonic read consistencyMonotonic write consistencyIntro...

2019-08-14 10:18:51 169

原创 How to connect MySQL in C++

How to connect MySQL in C++文章目录How to connect MySQL in C++IntroductionPrepare workfind the libarystep.1step.2step.3step.4CodingIntroduction​ Today I want to share a way connect MySQL database in C+...

2019-08-13 21:57:53 219 2

原创 Java线程池解读

线程池的饱和策略与阻塞队列文章目录线程池的饱和策略与阻塞队列一、线程池的饱和状态1、线程池的处理过程2、饱和状态的满足条件二、饱和策略AbortPolicyCallerRunsPolicyDiscardOldestPolicyDiscardPolicy三、阻塞队列1、有界队列ArrayBlockingQueue2、无界队列LinkedBlockingQueueSynchronousQueuede...

2019-08-10 15:36:13 1189 2

原创 JUC之CountDownLatch&CyclicBarrier&Semaphore

CountDownLatch&CyclicBarrier&Semaphor文章目录CountDownLatch&CyclicBarrier&Semaphor引言一、CountDownLatch1、使用2、实现原理二、CyclicBarrier概念1、使用2、实现原理三、Semaphor1、应用场景2、使用3、实现原理总结引言​ CountDownLatch&a...

2019-08-09 09:37:16 296

原创 JUC之LockSupport与Condition

JUC之LockSupport与Condition文章目录JUC之LockSupport与Condition一、LockSupport二、Condition1、等待队列处理2、同步队列处理三、Usage一、LockSupportpark()阻塞当前线程调用unpark、或者中断该线程,唤醒unpark()唤醒线程这个工具主要用于对线程进行一个阻塞、唤醒处理。二...

2019-08-08 21:50:20 217

原创 JUC之ReadWriteLock

JUC之读写锁解读文章目录JUC之读写锁解读一、什么是读写锁二、读写锁的实现三、升降级1、锁降级2、锁升级四、使用场景一、什么是读写锁​ 读写锁实现的功能就是“读写分离”,读可以并发读,写只能串行写,同时,读的时候不能写,写的时候不能读。但是,如何控制读与写,需要我们手动在读代码块上加读锁,写代码上加写锁。二、读写锁的实现​ 这里我主要讲一些内部实现原理。读为共享锁final b...

2019-08-08 21:49:42 171

原创 JUC之ReentrantLock

JUC之ReentrantLock文章目录JUC之ReentrantLock一、什么是ReentrantLock二、ReentrantLock的实现1、重入机制的实现2、公平机制的实现三、ReentrantLock的应用一、什么是ReentrantLockReentrantLock就是可重入锁,它主要实现了以下两种机制:可重入,一个线程可以重复获取该锁。公平性,它实现了公平锁与非公平锁...

2019-08-08 21:48:17 153

原创 JUC之AQS解读

JUC之AQS解读文章目录JUC之AQS解读一、队列同步器二、设计思想1、同步队列节点2、同步状态处理(独占)3、同步状态处理(共享)questionanswer一、队列同步器​ AbstractQueueSynchronizer,即队列同步器,通常被称为AQS,是用于构造锁、同步组件的基础框架,它使用int表示同步状态,使用内置FIFO双向队列来完成线程的排队工作。​ AQS可以说是整个...

2019-08-08 17:21:20 643

原创 JUC之锁架构预览

JUC之锁架构预览文章目录JUC之锁架构预览一、预览架构1.Lock接口2.ReadWriteLock3.AbstractOwnableSynchronizer/AbstractQueuedSynchronizer/AbstractQueuedLongSynchronizer4.LockSupport5.Condition6.ReentrantLock7.ReentrantReadWriteLo...

2019-08-08 17:19:55 194

原创 Java多线程之可重入锁概念

Java多线程之可重入锁概念文章目录Java多线程之可重入锁概念一、什么是可重入锁二、demo1、synchronized2、UnReentrantLock3、ReentrantLock三、总结一、什么是可重入锁​ 在java中,可重入锁分为两种,即synchronized锁以及ReentrantLock及其实现。那么,什么是重入锁呢,其实重入锁就是一个线程能否获取一个已经由它自己持有的锁。...

2019-08-08 10:26:34 795

原创 JUC之原子类

JUC原子类文章目录JUC原子类一、分类二、基本类型1、AtomicInteger2、AtomicLong3、AtomicBoolean三、数组类型1、AtomicIntegerArray四、引用类型1、AtomicReference2、AtomicReferenceArray五、对象属性类型1、AtomicIntegerFieldUpdater(抽象类)demo一、分类Juc原子类可以分为...

2019-08-07 20:29:42 486

原创 记一道多线程题目(二)

记训练营给师弟的第二道多线程训练一、题目与要求/** * @author linxu * @date 2019 * tips: * 1、交替打印,根据构造器构造的N,构造一个交替任务执行器。 * 2、假如N=1,则打印12,假如N=2.则打印1212。 * 3、效率第一,可有多种解法,适当加分。 */ static class PrintOrdered { p...

2019-07-27 10:09:47 141 2

原创 记一道多线程训练题目

记给训练营师弟们的一道多线程题目文章目录记给训练营师弟们的一道多线程题目一、题目要求二、解法一三、解法二一、题目要求 Task <Execute by Order> tips: 1、开三个线程,这三个线程在一个死循环中不断创建,执行。每个打印的数字的不同。 2、在不使用主线程休眠的情况下来保证三个线程的顺序不变。 3、效率第一、不考虑空间复杂度。 4、以下是...

2019-07-22 09:07:44 203

原创 HBaseShell详细使用手册

HBase Shell获得某一个命令的详细信息help ‘status’#help [command]hbase(main):006:0> help 'status'Show cluster status. Can be 'summary', 'simple', 'detailed', or 'replication'. Thedefault is 'summary'. Exa...

2019-07-17 20:43:39 269

原创 Feign的详解与使用

Feign详解与使用文章目录Feign详解与使用一、什么是Feign1、概念2、实现依赖二、Feign的使用三、Feign配置四、Feign必须了解的源码五、Feign的注意事项一、什么是Feign1、概念​ 学过了Ribbon和Hystrix的读者都知道,Ribbon实现客户端负载均衡是通过拦截RestTemplate进行相应的处理。而RestTemplate已经对Http请求进行了一系...

2019-07-17 15:40:34 2222

原创 Hystrix从原理到详细使用

Hystrix从原理到使用文章目录Hystrix从原理到使用一、什么是Hystrix二、Hystrix的原理1、命令模式2、观察者模式3、原理分析a.舱壁模式三、如何使用Hystrix四、详细配置与Hystrix监控优化1、详细配置2、监控优化五、总结一、什么是Hystrix源自Martin Fowler的Circuit Breaker,即断路器。“断路器”本身是一种开关装置,用于线路上的...

2019-07-16 14:12:23 3480

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除