自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux标准输出重定向 2>&1

ls phenix phenix1 >out.txt 2>&1这个东西,挺绕的你要知道,实际上就是想把界面的输入重定向到一个文件中一步一步来1、当文件夹下面只有这两个东西时,我们做ls phenix会出现很多回显,就是ls的内容,也称之为标准输出如果我输入 ls phenix1由于没有phenix1这个文件夹,因此回显为,也称之为标准错误输出2、如果我...

2020-04-01 10:05:45 472

原创 记录一次虚拟机配置dns惨痛经历

整体来说,就是ping 百度的ip可以ping通,但是pingwww.baidu.com ping不通。sb都知道是dns的问题,看了无数帖子修改了无数次配置文件,现在记录有三个地方和dns有关:1、/etc/sysconfig/network-scripts/ifcfg-eth02、/etc/resolv.conf3、/etc/sysconfig/network最后,拯救我的,居然是把...

2020-03-28 23:15:26 1556 2

原创 linux内核使用段页式存储流程

首先,8086一开始是地址总线是20位,而寄存器只有16位,因此采用了两个16位数字错位相加的方式,完成了采用16位寄存器控制20位地址总线的目的,为何地址总线大?因为想要控制更多的内存空间。那么8086是没有保护机制的,那些负责作为基地址的段寄存器,也是可以修改的,那么用户就可以访问到内存地址的任何空间。为了达到能够在地址转换的过程中检查权限,并且把每个段设置固定的长度这个功能,采用16位寄...

2020-02-09 12:23:13 318

原创 在虚拟机上开启samba功能实现与主机互通

目的为了在本地编译代码,能够通过beyondcompare实时同步到虚拟机,因此需要将虚拟机的ip实现samba共享,这样就不需要每次将更改的代码拷贝到虚拟机上了遇到的问题及解决方法1、无法安装samba:Package samba is not available, but is referred to by another package原因是ubuntu的/etc/apt/sou...

2020-01-16 23:48:04 2055

原创 mmap与fread,fwrite

Mmap基本原理mmap调用在磁盘和用户态进程之间建立了虚拟内存的关系映射,注意,mmap调用之后,并不是在用户态进程内存中已经有了文件的数据,只是建立了映射关系。在进行访问时,发现内存中没有数据,引发缺页中断,去磁盘上获取页面。整个过程跨过了vfs的page cache,假如用户态内存比较紧张,极端场景,比如就剩下4k的内存,那么读取4k的数据,从磁盘上读一个页面到内存,再想读一个页面,就需...

2019-11-23 18:01:40 694

原创 io多路复用

select用法代码:初始化并清空fd_set readfds;FD_ZERO(&readfds);阻塞等待文件描述符准备完毕while(1){添加FD_SET(0,&readfds)FD_SET(sockfd,&readfds)if (select(sockfd+1, &readfds,NULL,NULL,NULL)<0){errl...

2019-11-23 11:49:07 91

原创 bigtable与GFS

一、 GFS整体介绍1、GFS为何是弱一致性的?2、HDFS的meta文件备机整合是怎么回事?任何分布式系统都要关注:容错性,一致性,负载均衡,垃圾回收二、bigtable与zookeeper,GFS之间的关系2-1关系型数据库与非关系型数据库关系型数据库bigtable 非关系型数据库,全部数据都存在一张大表里面,以牺牲存储容量换取查询效率通过上述的图片我们可以看到,big...

2019-11-20 08:57:15 1309

原创 利用redis和zookeeper实现分布式锁

为何需要分布式锁简单来说,就是互斥的行为跨了节点,原来的进程间互斥就不起作用了。比如说,两个节点A和B,都想修改节点C上面的文件,那么这时就需要分布式锁。整体思想无论是利用redis还是利用zookeeper,整体思想都是在真正做这件事情之前,去试图加一下锁,这个行为和单节点的加锁解锁是没有区别的。只不过试图加锁这个行为在分布式的情况下变得不一样了。利用redis实现分布式锁整体思想就...

2019-11-17 16:50:48 137

原创 浅谈paxos协议与zookeeper

介绍两篇好博客1、zookeeper全解析–paxos作为灵魂https://blog.csdn.net/YQlakers/article/details/726303532、这个文章介绍paxos协议更为透彻https://www.cnblogs.com/linbingdong/p/6253479.html简单来说,paxos就是为了解决在一个分布式急群众,在几乎没有leader(实际...

2019-11-16 15:37:29 347

原创 大话面试题--树

1、树这种数据结构存在的意义我们都知道最简单的数据结构分为数组,和链表,一种便于查找,一种便于插入。但是在大型存储或计算系统中,二者操作都很多,既有大规模的数据查找,又有新的数据或操作日志进行插入。因此树这种查找和插入介于两者之间的数据结构就变得十分常用。我们所说的这些数据结构都是在内存中的。比如一颗树我们在内存中记录成以下的样子: 我们为何只在面试中遇到二叉树序列化这种需求,实际工程中却...

2019-03-24 10:45:44 181

原创 leveldb的启动流程

一、 manifest文件的作用1、可以得出的结论是,每次LogAndApply都会向manifest文件中添加一条record,来记录这次edit信息,以及生成一个新的version。疑问是,什么时候会产生一个新的manifest文件呢?plus:插入的这条record是以log的形式插入,那么key和value各是什么呢?log的形式是什么来着?二、 manifest文件的格式...

2019-02-10 16:43:00 1111

原创 如何在vs2017上使用pthread.h

使用pthread.h开发多线程自己开发多线程小程序时,发现用不了pthread.h,查阅各种资料,整理如下:1)下载pthread安装包2)这时编译程序会报无法解析的外部命令__imp_set_init,原因是这个函数在库pthreadVC2.lib中,需要将这个库导入工程3)上述库需要下载,下载地址为ftp://sourceware.org/pub/pthreads-win32...

2019-01-27 11:34:02 20344 3

原创 大话面试题--基本概念篇

以最简单的道理说清楚常见的面试题1、异步编程的事件循环异步编程事件循环是专门针对javascript的,之前javascript只支持同步模式,但是网络的事情谁也说不准,假如连最起码的鼠标点击,定时器触发等操作都要等着同步返回才能去做,那也许我们的页面就会出现很多卡顿的现象(鼠标或键盘的输入无法及时响应)。为了防止这种情况频繁出现,开发了异步编程事件循环。比如说两件事情:1、在网页上点击...

2019-01-08 23:23:52 158

原创 在ubuntu上安装leveldb并gdb调试学习leveldb

ubuntu上安装leveldbleveldb的代码笔者已经断断续续看了半年,大致原理已经了解,现在想将leveldb安装到虚拟机上通过gdb或者打印日志的方式跟踪学习以便理解的更加透彻。看了网上的安装指南,感觉soeasy,没想到还是有一些坑,现在总结下来:vmvare的链接方式为了能够在虚拟机上使用wget或者yum安装,必须是虚拟机能够联网(笔者在vmvare上安装ubuntu)。联网...

2019-01-02 22:11:50 3191

空空如也

空空如也

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

TA关注的人

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