自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (22)
  • 收藏
  • 关注

原创 git 命令的使用

上面设置两个pushurl,用于同时推送到两个gitlab上,也可以通过如下两个命令达到同样的效果: git remote set-url --add --push origin [email protected]:l/a.git git remote set-url --add --push origin [email protected]:l/b.git。Git 所做的实质工作是将被改写的文件保存为数据对象,更新暂存区,记录树对象,最后创建一个指明了顶层树对象和父提交的提交对象。

2023-12-24 09:00:33 1085

原创 Leveldb代码阅读笔记

第一次写入的数据,可能因为合并的原因以及到了sstable文件上,而再次删除键值key的数据时,根据上面的解释,其实也是写入数据,只不过标记为删除。于是,越后写入的数据,越在上面这个层次的上面,这样从上往下查询时就能先查找到后写入的数据,此时看到了数据已经被标记为删除,就可以认为数据不存在了。这种算法的原理是:针对一组数据,取出一个公共的前缀,而在该组中的其它字符串只保存非公共的字符串做为key即可,由于sstable保存KV数据是严格按照key的顺序来排序的,所以这样能节省出保存key数据的空间来。

2023-07-02 15:37:16 344

原创 rsync psynx

相当于实例的server.cached_master。在redis cluster的实际生产运营中,实例的维护性重启、主实例的故障切换(如cluster failover)操作都是比较常见的(如实例升级、rename command和释放实例内存碎片等)。3 redis重新同步时,会上报repl-id和repl-offset同步信息,如果和主实例匹配,且offset还在主实例的复制积压缓冲区内,则只进行部分重新同步。如果redis是从实例,则表示为自己主实例的replid1和同步主实例的复制偏移量。

2023-06-04 08:45:32 308

原创 Rocksdb参数调优指南

高级用户可以配置自定义的memtable和表格式—— 定义memtable。SkipList —— 默认的memtableHashSkipList —— 只能与prefix_extractor工作。他把key放入基于key前缀的桶中。每个桶是一个skiplist。HashLinkedList —— 只能与prefix_extractor工作。他把key放入基于key前缀的桶中。每个桶是一个linked list。—— 定义表格式。基于块 —— 这是默认的表。适合于磁盘和闪盘上排序好的数据。

2023-05-26 18:09:04 1678

原创 Rocksdb相关学习

一般默认的Block Cache 中存储的值是未压缩的,而用户可以再指定一个 Block Cache,里面的数据可以是压缩的。章节里提到 “block 是数据存储和传递的基本单元”,RocksDB 的数据是一个 range 的 key-value 构成一个 Region,根据局部性原理每次访问一个 Region 的 key 的时候,有很多概率会访问其相邻的 key,每个 Region 的 keys 放在一个 block 里,多个 Region 的 keys 放在多个 block 里。

2023-05-26 18:07:04 874

原创 redis-server源码

熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等。你可以通过 telnet 命令来亲自验证这个同步过程: 首先连上一个正在处理命令请求的 Redis 服务器, 然后向它发送 SYNC 命令, 过一阵子, 你将看到 telnet 会话(session)接收到服务器发来的大段数据(.rdb 文件), 之后还会看到, 所有在服务器执行过的写命令, 都会重新发送到 telnet 会话来。

2023-05-25 11:28:27 607

原创 RPC通信相关

关于流式格式,thrift数据类型是自我分割的,意思是说,thrift会自己在数据域的分割处插入标志,在解码的时候,即使没有数据域定义,thrift也能成功分割出各数据域。对C++实现,在开发过程中,thrift开发人员研究过boost,ACE中与thread,timer相关的东西,开发人员不想引入过多的第三方依赖,因此thrift中只有对boost::shared_ptr的引用是必须的,但为了跨平台或获得更多的功能,一般情况下,boost中thread,timer及其依赖库也是需要的。

2023-03-11 18:01:27 1150

原创 数值类型概念

1.用C语言打印出某个范围内的质数#define _CRT_SECURE_NO_WARNINGS#include#include#includeFILE *p;void main(){ void prime(int x); p = fopen("test.txt", "w"); int n; printf("请输入范围参数\n"); scanf("%d", &n); p

2023-03-10 12:37:58 159 1

原创 数据结构 平衡树(树,红黑树,skiplist, B树,B+树)

对于一颗二叉查找树进行增/删/改查,所花费的时间与高度h成比例,并不是与树的容量N成比例。如果让树维持矮矮胖胖的好身材,也就是让h维持在O(lg n)左右,完成上述工作就很省时间。能够一直维持好身材,不因新增删除而长歪的搜寻树叫做平衡树AVL树:定义:是二叉查询树和堆合并构成的数据结构,它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵AVL树。 AVL树不平衡的情况: 只有那些在被插入/删除结点到根节点的路径上的结点有可能出现失衡,因为只有那些...

2023-03-10 12:37:37 47

原创 零拷贝技术

本系列文章介绍了 Linux 中的零拷贝技术,本文是其中的第二部分。本文对第一部分文章中提出的 Linux 操作系统上出现的几种零拷贝技术进行了更详细的介绍,主要描述了它们各自的优点,缺点以及适用场景。对于网络数据传输来说,零拷贝技术的应用受到了很多体系结构方面因素的阻碍,包括虚拟存储体系结构以及网络协议体系结构等。所以,零拷贝技术仍然只是在某些很特殊的情况中才可以应用,比如文件服务或者使用某种特殊的协议进行高带宽的通信等。

2023-03-10 12:34:53 652

原创 hadoop命令学习

查看:hadoop fs -ls /user/lichaolichao_i 查看指定目录下内容,如果不指定则显示当前目录的内容hadoop fs -cat /user/lichaolichao_i/abc.txt 输出已存在文件abc.txt的具体内容上传:hadoop fs -put /home/lichaolichao_i/abc.txt /user/lichaolichao_i 将本地文件abc.txt上传至hadoophado...

2021-09-05 17:44:19 203

原创 LevelDB整体架构学习笔记

一、简介LevelDB是一个可持久化的KV数据库引擎,由Google传奇工程师Jeff Dean和Sanjay Ghemawat开发并开源。二、设计思路众所周知,普通机械磁盘的顺序写性能远高于随机写,例如15000转的SAS盘,4000 IO写入,顺序写IOPS 为 200MB/s,而随机写性能只有 1MB/s,相差200倍。LevelDB的设计正是利用了磁盘的这个特性。LevelDB的数据是存储在磁盘上的,采用 LSM-Tree 结构。LSM-Tree将磁盘的随机写转化为顺序写,从而大大提

2021-09-05 17:39:51 104

原创 美团万亿级kv存储架构学习

KV 存储作为美团一项重要的在线存储服务,承载了在线服务每天万亿级的请求量。在 2019 年 QCon 全球软件开发大会(上海站)上,美团高级技术专家齐泽斌分享了《美团点评万亿级 KV 存储架构与实践》,本文系演讲内容的整理,主要分为四个部分:第一部分讲述了美团 KV 存储的发展历程;第二部分阐述了内存 KV Squirrel 架构和实践;第三部分介绍了持久化 KV Cellar 架构和实践;最后分享了未来的发展规划和业界新趋势。一、美团点评KV存储发展历程美团点评第一代kv存储如下:.

2021-09-05 17:37:07 475

原创 LevelDB 底层原理学习

一、LevelDB简介LevelDB不同于关系型数据库,他内部的数据全部以KV形式存储,不支持SQL,只支持API调用。LevelDB是个noSQL的数据库引擎,由google开发并开源,由C++编写。Facebook在此基础上推出了RocksDB,后来包括TiDB等多种分布式noSQL数据库底层都是基于LevelDB。二、LevelDB架构2.1、内存中的MemTable和ImmuTable MemTable首先上层是MemTable, Immutable MemTable。Me.

2021-09-05 17:13:26 411

原创 RocksDB基础学习

rocksdb基础:LevelDB是由Google开源的,基于LSM Tree的单机KV数据库,其特点是高效,代码简洁而优美。RocksDB则是Facebook基于LevelDB改造的,属于嵌入式数据库,没有网络交互接口,必须和服务部署在同一台服务器高性能:RocksDB使用日志结构的数据库引擎,完全用C++编写,以获得最大的性能,键和值是任意大小的字节流 为快速存储而优化:RocksDB针对快速、低延迟的存储「如闪存驱动器和高速磁盘驱动器」进行了优化。RocksDB充分利用了flash或RAM提

2021-09-05 17:02:53 857

原创 Redis相关技术学习

一、相关文档redis入门级:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247484359&idx=1&sn=0994c6246990b7ad42a2d3f294042316&chksm=ebd742c6dca0cbd0a826ace13f4d4eeff282052f4a97b31654ef1b3b32f991374f5c67a45ae9&token=1834317504&la...

2021-05-27 11:17:09 47

原创 微服务

转至元数据结尾由赵啸宇创建, 最后修改于十一月 06, 2020转至元数据起始一、相关文档简单的例子入门:https://www.zhihu.com/question/65502802微服务的发展历史:https://blog.csdn.net/xxxlllbbb/article/details/105107628单体应用于微服务的对比:https://blog.csdn.net/qinaye/article/details/82840625serverless无服务的发展...

2021-05-27 11:12:04 98

原创 GO

一、学习链接视频:https://www.bilibili.com/video/BV1UW411x7v2?p=2&spm_id_from=pageDriver

2021-05-27 11:08:52 70

原创 Hadoop家族

Hadoop家族一、文档资料Hadoop家族以及资料:https://www.zhihu.com/question/19795366新手学习入门指南:https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6179&extra=page%3D1&page=1&HIVE表基本操作:https://www.cnblogs.com/tkzm/p/11467054.html二、学习笔记 Ha..

2021-05-27 11:07:26 130 1

原创 HTTP基本知识

一、相关文档链接几个代表性状态码:https://blog.csdn.net/qq_34600232/article/details/87599230全讲解:https://zhuanlan.zhihu.com/p/72616216URI:https://baike.baidu.com/item/URI/2901761?fr=aladdinget和post区别:https://blog.csdn.net/ever_siyan/article/details/87935455HTTP和HT

2021-05-27 11:05:07 76

原创 C++软件开发基础知识

1.C和C++a)C是面向过程的语言,是一个结构化的语言,考虑如何通过一个过程对输入进行处理得到输出;C++是面向对象的语言,更加抽象,主要特征是“封装、继承和多态”。封装隐藏了实现细节,使得代码模块化;派生类可以继承父类的数据和方法,扩展了已经存在的模块,实现了代码重用;多态则是“一个接口,多种实现”,通过派生类重写父类的虚函数,实现了接口的重用。b)C和C++动态管理内存的方法不一,C用malloc/free,C++除此之外还有new/deletec)C++支持函数重载,C不支持函数重载

2021-04-17 09:56:16 4533

转载 Kubernetes入门介绍

1.背景介绍  云计算飞速发展    - IaaS    - PaaS    - SaaS  Docker技术突飞猛进    - 一次构建,到处运行    - 容器的快速轻量    - 完整的生态环境2.什么是kubernetes  Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。  Kubernetes优势:

2021-04-01 11:19:29 46

原创 GO资源泄漏

1、检查Cmd对象是否释放资源。-Java 代码1 cmd := exec.Command("sleep","5") 2 err := cmd.Start() 3 iferr != nil { 4 log.Fatal(err) 5 } 6 log.Printf("Waiting for command to finish...") 7 err = cmd.Wait() 8 log.Printf("Comm...

2021-04-01 11:18:05 186

原创 SSL相关基础知识梳理

摘要:一 什么是SSL? ssl为secure socket layer,安全套接层的简称,详细说是在明文的上层和tcp的下层加一层加密,保证上层信息的传输安全 HTTP协议:明文传输 HTTPS协议: 在HTTP的基础上加上了SSL层,保证上层通讯安全 二 CA SSL Server SSL Client 1.CA 证书授权中心,CA的两大特点:CA首先是值得信任的 CA只给他信任的机构颁发证书 2.server.crt ,server.key 和ca.crt的关系是什么? 1)首先 server在...

2021-04-01 11:12:22 265

原创 2021-03-11

#include <iostream>#include <vector>#include "string"using namespace std;//构造一个二维数组//对于一个子串而言,如果它是回文串,并且长度大于 22,那么将它首尾的两个字母去除之后,它仍然是个回文串。例如对于字符串ababa//根据这样的思路,我们就可以用动态规划的方法解决本题。我们用 P(i,j)P(i,j) 表示字符串s的第 i 到 j 个字母组成的串(下文表示成 s[i:j]s[i:j])是否

2021-03-11 07:46:11 109

原创 Docker、K8s、AWS

1.Docker容器Docker是第一个使容器在不同机器间移植的系统,打包应用程序及其所依赖的环境,这个包可以被用来在任何其他运行Docker的机器上使用。docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository);容器是由镜像实例化而来,把镜像看作类,把容器看作类实例化后的对象。Docker容器使用流程:首先开发者在开发环境机器上开发应用并制作镜像。Docker执行命令,构建镜像并存储在机器上。 开发者上传镜像命令。Docker接收到

2021-03-09 15:15:04 693

原创 Docker和K8S技术

2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。什么是“开源”?开源,就是开放源代码。也就是将原来

2021-03-09 14:46:25 136

原创 面试准备数据库

https://www.nowcoder.com/tutorial/93/60c2f308109c4a7d8089a710b9ba1dab数据库索引:索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结数据库事务:参考回答:数据库事务,是指作为单个

2020-11-17 11:10:10 65

原创 STL

C++ STL使用一、什么是STLSTL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现了软件的可复用性。关联式容器(Associated containers)元素位置取.

2020-10-12 15:36:23 85

原创 2020-09-27

C++复习要点:https://blog.csdn.net/csdn_chai/article/details/78041050手把手教你栈溢出从入门到放弃:https://zhuanlan.zhihu.com/p/25816426C++虚函数内存分布:https://www.cnblogs.com/freeopen/p/5482965.htmlC++堆和栈的概念及区别:https://blog.csdn.net/zldz14/article/details/81233353C++11动态内

2020-09-27 23:34:54 113

原创 C++11新特性

1.auto关键字:在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名字空间中,程序块中,或是for循环的初始化语句中。auto i = 42; // i is an intauto l = 42LL; // l is an long longauto p = new foo(); // p is a foo*使用auto通

2020-05-25 16:15:23 163

原创 知识集锦

仅以此篇文章献给我的程序人生,督促我学习:https://blog.csdn.net/u011001084/article/details/81198840?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159013882519195265948348%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=1590138825191952

2020-05-22 17:30:48 123

原创 leetcode刷题记录

1.给你一个字符串 S,返回只含 单一字母 的子串个数。示例 1:输入: "aaaba"输出: 8解释:只含单一字母的子串分别是 "aaa", "aa", "a", "b"。"aaa" 出现 1 次。"aa" 出现 2 次。"a" 出现 4 次。"b" 出现 1 次。所以答案是 1 + 2 + 4 + 1 = 8。示例 2:输入: "aaaaaaaaaa"输出: ...

2019-12-03 08:48:48 71

原创 秋招

1.好未来//好未来1题目:题目描述一个数字串可以被拆开成多个数字串,例如12345拆成12345或者12345。给一个正整数类型的数字串n,求n拆开后的数能被3整除的最大数量m是多少。(0也算3的倍数)举例:n=12345,拆成1):12,3,45,m=32):123,45,m=2输入描述:输入一个正整数类型的数字串n(字符串长度&lt;100)输出描述:输出一个数...

2018-08-29 16:29:04 210

原创 SQL中的索引

索引的概念索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法。索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录可以快速找到你想要的信息,而不需要读完全书。在数据库中,数据库程序使用索引可以重啊到表中的数据,而不必扫描整个表。书中的目录是一个字词以及各字词所在的页码列表,数据库中的索引是表中的值以及各值存储...

2018-08-06 10:13:09 159

原创 位操作实现加减乘除四则运算

//利用位运算实现加法//1.不考虑进位的按位求和,(0,0)(1,1)得0,(1,0)(0,1)得1,使用异或操作可满足要求//2.只考虑进位,只有(1,1)才会产生进位,使用按位与可以满足要求。当前位产生进位时,要参与高一 //位的运算,因此按位与后要向左移动一位 //递归求和,直到进位为0 int add(int a,int b) { int carry, add...

2018-07-23 15:21:46 520

原创 二叉树

1.用一个函数判断一个二叉树是否为平衡二叉树平衡二叉树的定义为:它是一棵空树或者它的左右两棵子树的高度差的绝对值不超过1,并且左右两棵子树都是一颗平衡二叉树。思路:只需要求出离根节点最近或者最远的叶子节点,然后它们到根节点的距离之差是否大于1?//求最大高度int maxDepth(TreeNode root){if(root==null){return 0;}ret...

2018-07-20 12:47:04 124

原创 单链表的建立测长打印

#define _CRT_SECURE_NO_WARNINGS#include&lt;iostream&gt;#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;conio.h&gt;using namespace std;typedef struct student{    int data;    struct...

2018-07-18 09:58:46 132

转载 C++类型转换

C++的四种强制类型转换,所以C++不是类型安全的。分别为:static_cast , dynamic_cast , const_cast , reinterpret_cast为什么使用C风格的强制转换可以把想要的任何东西转换成合乎心意的类型。那为什么还需要一个新的C++类型的强制转换呢?新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++中风格是static_c...

2018-05-16 16:53:58 85

原创 auto_ptr浅析

auto_ptr是C++标准库中(&lt;utility&gt;)为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针)auto_ptr的实现原理其实就是RAII,在构造的时候获取资源,在析构的时候释放资源,并进行相关指针操作的重载,使用起来就像普通的指针。std::auto_ptr&lt;ClassA&gt; pa(new ClassA);下面主要分析一下auto_pt...

2018-05-15 10:28:33 82

brother-jin.zip

brother-jin.zip

2021-04-02

brother-jin.zip

brother-jin.zip

2021-03-26

brother-jin.zip

brother-jin.zip

2021-03-23

1_数据结构基本算法整理 (自动保存的).docx

1_数据结构基本算法整理 (自动保存的).docx

2021-03-17

Desktop.zip

Desktop.zip

2021-03-15

brother-jin.zip

brother-jin.zip

2021-03-13

数据结构基本算法整理doc.zip

优秀的金哥哥

2021-03-08

brother-jin.zip

复习资料

2021-03-05

本人简历本人找工作简历.zip

本人简历本人找工作简历

2021-03-02

brother-jin.zip

brother-jin.zip

2021-02-27

brother-jin.zip

brother-jin.zip

2021-02-23

brother-jin.zip

brother-jin.zip

2021-02-20

brother-jin.zip

brother-jin.zip

2021-02-10

brother-jin.zip

brother-jin.zip

2021-02-03

brother-jin.zip

C++复习资料C++复习资料C++复习资料

2021-01-28

金哥哥的秘密小屋.zip

C++复习资料C++复习资料C++复习资料C++复习资料C++复习资料C++复习资料C++复习资料

2021-01-22

金哥哥的秘密小屋.zip

这个是我亲自写的C++面试宝典这个是我亲自写的C++面试宝典这个是我亲自写的C++面试宝典这个是我亲自写的C++面试宝典

2021-01-16

1_数据结构基本算法整理 (自动保存的).docx

数据结构与算法整理

2020-12-29

1_数据结构基本算法整理 (自动保存的).docx

1_数据结构基本算法整理 (自动保存的).docx

2020-12-22

互联网大厂C++复习经验

互联网大厂C++复习经验互联网大厂C++复习经验互联网大厂C++复习经验互联网大厂C++复习经验互联网大厂C++复习经验互联网大厂C++复习经验互联网大厂C++复习经验

2020-12-21

金哥哥的秘密小屋.zip

C++社招找工作面试复习汇总

2020-12-11

C++面试复习资料笔记

C++复习资料 复习.html

2020-10-12

空空如也

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

TA关注的人

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