为你推荐

malloc 底层实现及原理

摘要:偶尔看到面试题会问到malloc的底层原理,今天就来记录一下,毕竟学习要“知其所以然”,这样才会胸有成竹。注:下面分析均是基于linux环境下的malloc实现。步骤是:先总结结论,再逐步展开1)当开辟的空间小于128K时,调用brk()函数,malloc的底层实现是系统调用函数brk(),其主要移动指针_end...
代码星球·2021-01-09

MySQL---MVCC机制

摘要:此机制暂时还没听说过,暂且把链接放在这,日后再整理MVCC参考博客:https://blog.csdn.net/whoamiyang/article/details/51901888...
代码星球·2021-01-09

C++---拷贝构造函数和赋值构造函数

摘要:最近看了一道面试题问:C++中拷贝赋值函数的形参能否进行值传递?我知道一般来说,拷贝构造函数的形参必须是自身类型的引用(《面向对象程序设计--C++语言描述(第二版)》这本书中有叙述),但是拷贝赋值函数的形参通常也是自身类型的引用,那么我们到底能不能将它们的形参改为值传递呢?1,拷贝构造函数(不能进行值传递)拷贝...

C++---类成员变量定义为引用

摘要:类成员变量是可以定义为引用类型的,但是我们需要注意一下用法note1:在类中定义引用变量,必须要在初始化列表中初始化该成员变量(const类型数据成员也必须在初始化列表中进行初始化)#include<iostream>usingnamespacestd;classA{public:A(intk):a(...

Ubuntu---grep

摘要:我们已经学过正则表达式了,所以现在开始学习grep也是水到渠成的事情。简介:grep是Linux中最常用的“文本处理工具”之一,grep与sed、awk合称为Linux中的三剑客。grep的全称:GlobalsearchRegularExpressionandPrintouttheline全称中的:"Global...
代码星球·2021-01-09

i++ 和 ++i 的区别和实现

++i和i++的区别1)i++返回的是i的值,++i返回的是i+1的值2)i++不能用作左值,++i可以用作左值左值和右值的区别是什么?根本区别是:能否允许用取地址符号&来获取相应的内存地址++i和i++的实现1//++i的实现2//note:++i运算符重载时不需要加形参3int&int::opera...
代码星球·2021-01-09

如何在 main() 执行之前先运行其它函数

摘要:我们知道C++的全局对象的构造函数会在main函数之前先运行,其实在c语言里面很早就有啦,在gcc中可以使用__attribute__关键字指定如下(在编译器编译的时候就绝决定了)在C语言中用__attribute__关键字#include<stdio.h>voidbefore()__attribut...

DDB---查询与优化

摘要:分布式数据库(DistributedDB)是数据库中非常重要的一个部分,随着要处理的数据越来越多,分布式逐渐成为了一种策略。主要有:分布式操作系统,分布式程序设计语言,分布式文件系统,分布式数据库等。今天我们主要学习分布式数据库中常用的查询优化策略。方式一:使总代价最小(总代价=CPU代价+I/O代价+通信代价)...
代码星球·2021-01-09

Ubuntu---gcc && g++

摘要:今天用gcc编译c++代码,发现会报错:std::cout 这个函数无定义,所以决定查一下原因,在这里总结一下,虽然以后回头看一定会觉得太菜,但是新手期还是总要经历的一个阶段,所以就记录下来。1,什麽是gcc/g++首先说明:gcc和GCC是两个完全不同的东西GCC:GUNCompilerCollect...
代码星球·2021-01-09

Ubuntu---regex

摘要:今天我们学习正则表达式(regex),因为掌握这个是用好grep命令的前提条件。1,位置相关的patten:  ^:表示锚定行首,才能匹配。  $:表示锚定行尾,才能匹配。  ^$:表示匹配空行,这里的空行表示“回车”,而“空格”或“tab”等都不能算作此处所描述的空行。  ^abc$:表示abc独占一行的时候,...
代码星球·2021-01-09

Ubuntu---修改源

摘要:我们刚安装好Ubuntu之后,默认的安装源是u.s.,所以当我们下载安装包或者进行软件升级的时候就会特别慢,当然有解决办法啦,我们国家也建立了自己的源镜像,这样直接从我们自己国家的服务器上进行下载相应的软件包,那肯定非常的快了,所以安装好Ubuntu系统之后的第一件事就应该是更改源。step1:打开Softwar...
代码星球·2021-01-09

Ubuntu---添加输入法

摘要:Ubuntu在刚刚安装好之后,默认是不支持直接输入中文的,所以我们需要安装支持中文的输入法。网络上面一般推荐使用的输入法是Fcitx(小企鹅输入法),我们今天就来安装和配置它。step1:下载安装,可以直接从Ubuntu自带的应用商店下载,这里我们为了方便,直接从源下载#wbpy:五笔,拼音的首字母缩写$sudo...
代码星球·2021-01-09

Ubuntu开机时提示“piix4_smbus 0000:00:07.3: SMBus Host controller not enabled”

问题描述:Ubuntu开机时提示“piix4_smbus0000:00:07.3:SMBusHostcontrollernotenabled”         版本:Ubuntu18.04  VMware14....

I/O多路复用之 epoll 详解

1,epoll原理(POLLIN,POLLOUT状态):  https://blog.csdn.net/hdutigerkin/article/details/7517390  https://blog.csdn.net/linkedin_38454662/article/details/733372082,...
代码星球·2021-01-09

nginx 负载均衡

1,nginx负载均衡的5种策略:   https://www.cnblogs.com/andashu/p/6377323.html ...
代码星球·2021-01-09