- 博客(102)
- 收藏
- 关注
原创 [ceph]在虚拟机上搭建ceph集群
文章目录说明准备工作安装ceph-deploy和ceph创建monitor与OSDceph集群扩容添加ceph monitor添加OSD说明本实验利用三台虚拟机搭建ceph集群。环境:vmware、Ubuntu18.04*3主机名与主机ipceph-node1 192.168.50.101ceph-node2 192.168.50.102ceph-node3 192.168.50.1...
2020-04-18 12:45:44
1695
原创 【不变与可变】mutable和const
文章目录1、const关键字1.1 const修饰变量1.2 const修饰成员函数2、mutable关键字1、const关键字const关键字可以用来修饰变量和成员函数。其修饰变量则在此作用域下变量不可变,其修饰成员函数则说明此成员函数不会修改类的成员变量。1.1 const修饰变量1.2 const修饰成员函数const修饰成员函数时需要将声明和定义全部加上const关键字。当...
2019-11-16 16:27:48
443
原创 【临时对象】C++中临时对象及返回值优化
文章目录1、什么是临时对象1、什么是临时对象C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行时确实生成了这样的对象....
2019-11-16 15:28:36
233
原创 【拷贝构造和赋值运算符】C++ 拷贝构造函数和赋值运算符函数
文章目录1、拷贝构造函数和赋值运算符2、两者分别在何时调用3、深拷贝、浅拷贝:拷贝构造函数和赋值运算符函数的必要性和意义本文前面主要介绍了拷贝构造函数和赋值运算符函数的区别,以及在什么时候调用拷贝构造函数、什么情况下调用赋值运算符函数。最后,分析了下深拷贝和浅拷贝的问题,即拷贝构造函数和赋值运算符函数的必要性和意义。1、拷贝构造函数和赋值运算符在默认情况下(用户没有定义,但是也没有显式的删除...
2019-11-16 15:04:02
570
原创 【git 分支】git基本操作
文章目录1、分支操作1.1 查看所有分支1.2 分支创建1.3 分支切换1.4 分支合并1.5 分支删除2、冲突解决3、远端分支3.1 远端分支的表示3.2 推送到远端3.3 获取远端分支内容3.4 删除远端分支4、常见开发模式1、分支操作1.1 查看所有分支git branch 1.2 分支创建git branch v1git branch v1 master #从master创建...
2019-11-12 19:28:55
152
原创 【类型转换】不同类型的数值转换
文章目录1、int和char相互转换1.1 int转char ---atoi1.2 char转int---sprintf2、char和string相互转换2.1 char转string---string构造函数2.2 string转char---string的c_str()方法3、int和string相互转换3.1 int转string---to_string方法3.2 string转int---...
2019-11-12 15:08:16
296
转载 【类型转换】C语言的类型转换
文章目录1.自动类型转换2.赋值中的类型转换3.强制类型转换1.自动类型转换字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128~127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围是0~255(有些机器把char型当做unsighed char型对待, 取值范围总是0~255)。如果一个运算符两边的运算数类型不同,先要将其转换...
2019-11-12 14:01:44
879
原创 【MapReduce】MapReduce:Simplified Data Processing on Large Clusters
文章目录摘要1、介绍2、编程模型2.1 示例3、实现3.1 执行概括3.2 master的数据结构3.3 容错3.3.1 worker故障3.3.2 master失败3.3.3 失效方面的处理机制3.4 存储位置3.5 任务粒度3.6 备用任务4、技巧4.1 分区函数设计4.2 顺序保证4.3 combiner函数4.4输入和输出的类型4.5 副作用4.6 跳过损坏的记录4.7 本地执行版本4.8...
2019-11-01 15:31:31
425
原创 【gfs】google file system 之重点剖析
文章目录 1、一致性模型中的几种状态详述 一致性背景影响一致性的操作负载情况GFS一致性元数据的一致性修改元数据+无并发修改元数据+并发一个文件块(chunk)的一致性写一个chunk+无并发写一个chunk+并发追加数据+无并发追加数据+并发 1、一致性模型中的几种状态详述 最近读了GFS的论文,整理了一下其中涉及的一致性,总结在这里。一致性背景分布式存储系统中,不管是文件系统还是数据库...
2019-10-26 17:17:40
236
原创 【gfs】google file system
google file system1、假设组件失效被认为是常态事件,而不是意外事件。以通常的标准来衡量的话,要存储的文件是巨大的。GB的文件非常普遍。绝大部分文件的修改是采用在文件尾部追加数据而不是覆盖原有数据的方式。应用程序和文件系统API的协同设计提高了整个系统的灵活性。2、设计概述2.1 设计预期系统会存储一定数量的大文件,可能由几百万文件。文件的大小通常在100...
2019-10-25 16:30:58
473
原创 【STL】STL模板库------使用STL
文章目录一、STL容器分类一、STL容器分类STL容器大致可以分为两类:顺序容器和关联容器顺序容器:string、array、list、deque关联容器 :有序容器、无序容器有序容器:map、multimap、set、multiset无序容器:unolder_map、unolder_set、unolder_multimap、unolder_multiset...
2019-10-18 16:13:33
277
原创 【parallel studio xe(icc)】linux下安装parallel studio xe(icc ifort)
文章目录step1:下载parallel studio xe,解压step2:安装step3:配置环境变量step1:下载parallel studio xe,解压step2:安装进入安装目录,执行./install.sh进行安装出现用户协议,连续按空格直到底部,按照提示输入“accept”然后询问是否同意收集个人信息,是/否都可以,自己选择之后检查计算机是否符合安装条...
2019-09-23 12:34:46
1969
1
转载 【指针 引用】C++中指针和引用区别---详解版
https://blog.csdn.net/qq_39539470/article/details/81273179
2019-08-19 17:33:27
166
转载 epoll模型详解
文章目录什么是epollepoll的相关系统调用1. int epoll_create(int size);2. int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);3. int epoll_wait(int epfd, struct epoll_event * events, int maxevents, int ...
2019-08-05 15:49:14
185
原创 【UNP_socket编程】I/O复用函数:select与poll
文章目录1.I/O复用简介2.I/O模型3.select函数1.I/O复用简介I/O复用指定是进程需要具备一种告知内核的能力:使得内核发现进程指定的一个或多个I/O条件就绪(即输入或输出已经准备好被读取,或者描述符已经能承载更多的输出),它就通知进程。这个能力是通过select和poll函数来支持的。I/O复用典型的应用场景:当客户处理多个描述符(通常为交互式输入与网络套接字)时当一个...
2019-07-29 10:19:48
160
原创 【UNP_socket编程】多进程服务器模型
文章目录1.多进程服务器模型简介1.1服务器介绍1.2客户端介绍2.边界条件处理2.1处理僵死进程和处理被中断的系统调用2.2accept返回前连接中止2.3服务器进程中止2.4服务器进程中止(二)2.5服务器主机崩溃2.6服务器主机崩溃后重启2.7服务器主机关机1.多进程服务器模型简介1.1服务器介绍服务器模型采用了阻塞式,父进程阻塞与accept,当有新进程到达时,通过fork产生一个...
2019-07-27 19:35:15
200
原创 【UNP_socket编程】初识socket、bind、listen、connect、accept、close
文章目录1.基本TCP客户/服务器程序的套接字函数2.socket函数3.bind函数4.listen函数5.connect函数6.accept函数7.close函数1.基本TCP客户/服务器程序的套接字函数2.socket函数 #include<sys/socket.h> int socket(int family, int type, int protocol); //...
2019-07-19 15:45:23
401
原创 【UNP_socket编程】地址结构
文章目录ipv4地址结构ipv4地址结构struct in_addr(netinet/in.h)struct sockaddr_in(netinet/in.h)struct sockaddr(sys/socket.h 通用套接字地址结构)
2019-07-19 15:15:37
171
原创 【UNP_socket编程】TCP连接建立与断开、TCP状态转换图
文章目录1.三次握手建立连接2.四次挥手断开连接3.TCP状态转换图1.三次握手建立连接2.四次挥手断开连接3.TCP状态转换图
2019-07-19 15:03:12
246
原创 【ps】ps命令(process status)、jobs命令(查看后台程序)
文章目录简介1.命令格式2.命令功能3.命令参数4.常用命令简介Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同...
2019-07-18 09:51:33
3075
原创 【netstat】netstat命令(显示网络相关信息)
文章目录1.命令格式2.命令功能3.命令参数1.命令格式netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][–ip]2.命令功能netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。3.命令参数-a或–all 显示所有连线中的Socket。-A<网络类型...
2019-07-18 09:14:14
1035
1
原创 【读书笔记unix操作系统设计】进程控制
文章目录一、进程的创建二、软中断信号2.1软中断信号分类2.2软中断信号的处理一、进程的创建二、软中断信号软中断信号的处理有几个方面:1.内核如何向一个进程发送软中断信号。2.进程如何接受软中断信号。3.进程如何控制自己对软中断信号的反应。1.如何发送软中断信号:为了给一个进程发送一个软中断信号,内核在该进程的进程表中,按所要接受的信号类型设置软中断信号字段的某一位。如果该进程睡眠在一...
2019-07-09 16:51:46
252
原创 【读书笔记unix操作系统设计】文件系统的调用
文章目录读完本文你可以了解到什么概述一、读取已经存在的文件1.1系统调用open读完本文你可以了解到什么在文件的内部标识这一章中我们从索引节点和数据块的角度了解了文件创建删除、查询时进行的操作。在本章中,我们继续讲解文件系统的最后一部分,文件系统的系统调用。这一章内容是基于文件内部标识所提供的的算法,说明创建删除、读取写入文件所需要执行的操作。在文件的内部标识这一部分讲到的算法都是提供给内...
2019-06-01 09:37:48
955
原创 【const】const关键字
文章目录const修饰基本数据类型(int、double、float、char)const修饰数组const修饰指针变量const在函数传参中的作用const在函数返回值中的作用const修饰基本数据类型(int、double、float、char)被const修饰的变量为只读变量,不能修改,但可以在初始化时赋值。#include <iostream>using namespa...
2019-05-30 21:59:13
166
原创 【读书笔记unix操作系统设计】文件的内部表示
文章目录文件系统概述一、索引节点1.1索引节点的定义文件系统概述一个文件系统由一个逻辑块序列组成,每个块包含512、1024、2048个字节或512个字节的任意倍数,这依赖于系统的实现。如下图所示:引导块: 文件系统的开头,可以含有被读入机器中起引导作用或初启操作系统作用的引导代码。虽然为了引导系统只需要一个引导块,但每个文件系统都有一个引导块(虽然可能是空的)。超级快: 描述文件系统...
2019-05-28 17:52:20
1235
原创 【读书笔记unix操作系统设计】数据缓冲区高速缓冲
文章目录概述缓冲区的相关数据结构缓冲区分配算法getblk概述为了加快系统读取磁盘(及外设)的速度,在内存中开辟一块区域缓存磁盘上的数据,这块区域为disk cache(即磁盘高速缓存)本章主要探讨disk cache的数据结构、读写磁盘块内容的算法等等。缓冲区的相关数据结构**缓冲区包括两大部分:**缓冲头部和数据区。缓冲头部用于索引、查找、记录缓冲区状态等,数据区是存放缓存的磁盘的数...
2019-05-28 16:45:53
657
原创 【valgrind】使用valgrind来检查内存泄漏
文章目录1.安装2.检测内存泄漏3.查看内存泄露位置valgrind可以用来检查内存泄露问题,检查日志会将可能出现的内存泄露告诉开发者,具体到了哪行代码中,开发者可以利用日志方便的找到自己程序中的内存泄漏问题。1.安装sudo pacman -S valgrind #for manjarosudo apt-get install valgrind #for ubuntu2.检测内存...
2019-05-28 11:38:04
439
原创 【IO】IO库(一)流简介
文章目录IO库类型和头文件IO对象无拷贝和赋值IO流的条件状态缓冲区的刷新IO库类型和头文件iosteam头文件中定义了: istream(从流中读取);//cin ostream(写到流中);//cout;cerr;clog iostream(对流进行读写,从istream和osteam派生而来)fst...
2019-05-16 14:44:56
390
原创 【IO】IO库(二)文件操作
文章目录C++IO库继承图读写文件文件打开与关闭文件模式资源管理C++IO库继承图读写文件C++提供了ifstream、ofstream、fstream类供我们使用来进行文件读写操作。其中ifstream用于读文件,ofstream用于写文件、fstream可用于读写文件。文件打开与关闭可以调用open和close函数进行文件打开与关闭操作#include <iostr...
2019-05-16 12:56:07
206
原创 【IO】C语言文件操作接口
文章目录c语言提供的cstdio头文件中的IO操作c语言提供的cstdio头文件中的IO操作文件打开函数(验证mode)std::FILE* fopen( const char* filename, const char* mode );//mode:"r";"w";"a";"r+";"w+";"a+";"b"文件关闭函数int fclose( std::FILE* stre...
2019-05-14 22:19:28
623
原创 【spring springmvc mybatis】Java后端开发配置文件
generatorConfig.xml文件生成mybatis文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" ...
2019-05-08 11:48:28
515
原创 【maven】maven常用包
maven pom依赖jar包junit <!--junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version>...
2019-05-08 11:37:37
794
原创 【CMake】Linux下CMake示例教程
文章目录CMake简介安装CMakeCMake使用样例CMake简介CMake是一个跨平台的、开源的构建工具。cmake是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量.目前很多开源的项目都可以通过CMake工具来轻松构建工程,例如博客之前分享的openHMD、hidapi、OSVR-Core等等,代码的分享者提供源代...
2019-05-05 19:16:30
1197
原创 【class】类的构造函数与析构函数
文章目录构造函数三种初始化方式多个构造函数构造函数构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。通常需要初始化的数据成员有两大类:一类是无需开发者自己管理内存的变量,一类需要开发者自行管理内存,即new或malloc分配的内存。如果我们的类中没有显式定义构造函数,那么编译器会为我们隐式的定义一个默认构造函数。三种初始化方式变量通过构造函数初...
2019-04-30 19:33:39
610
原创 【class】类的访问权限
类的访问权限有三种:public、protected、private。public类型的变量或成员函数可以被实例对象访问,protected和private不可以被实例对象访问。但两者在继承等方面有区别。class people {public: int publicAge;protected: int protectedAge;private: int pr...
2019-04-30 18:46:18
2245
原创 【YouCompleteMe】Ubuntu下YouCompleteMe安装
ycm是一款vim补全插件,装上插件后利用vim开发时可以自动补全。以下是安装步骤1.安装vimsudo apt-get install vim2.安装vim插件管理工具Vundle可以去GitHub查看官方文档如何安装。git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim下载完成后,...
2019-04-20 20:22:54
1815
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人