4 selfsongs

尚未进行身份认证

我要认证

现实生活的艰苦,像一捆粗糙的绳子,紧紧的捆住她像捆住天使。天使却从绳索中飞出来,轻轻落在绳索上,唱她应该唱、想唱的歌

等级
TA的排名 13w+

Linux内存管理(下)

Linux内存管理(下)物理内存管理物理页管理面临问题外部碎片内部碎片页面管理算法Buddy(伙伴)分配算法分配实例slab分配器大白话说原理数据结构slab高速缓存的分类通用高速缓存专用高速缓存虚拟内存分配用户空间内存分配malloc内核空间内存分配kmallocvmallocReference前面转载了一篇文章,介绍了linux的内存管理基础Linux内存管理(上)接下来继续文章来自https://mp.weixin.qq.com/s/EvU7pV51ctPooREQt_8SaQ物理内存管理

2020-06-30 20:27:37

Linux内存管理(上)

Linux内存管理虚拟地址虚拟地址的好处物理地址用户空间进程与内存内核空间回顾一下内存数据结构用户空间内存数据结构内核空间动态分配内存数据结构Reference来自https://mp.weixin.qq.com/s/Aj-A5ltGJoD5fkFiMlhjoA虚拟地址前提约定:本文讨论技术内容前提,操作系统环境都是 x86架构的 32 位 Linux系统。即使是现代操作系统中,内存依然是计算机中很宝贵的资源,看看你电脑几个T固态硬盘,再看看内存大小就知道了。为了充分利用和管理系统内存资源,Lin

2020-06-30 19:50:42

面试版同步异步编程

面试版同步异步编程面试版同步异步编程1,什么情况下会用到多线程?2,什么是异步编程?同步编程又是什么?3,线程同步和异步主要解决了什么问题?4,行了,看你说了那么多,先写个简单的多线程例子吧,写完给我解释下什么是互斥锁,如何实现?lock_guardunique_lock5,说说什么是条件变量,干嘛用的,并且给我写一段应用的代码吧。6,能面到现在,说明你功底不错。那你就再说说有哪些方式可以实现跨线程取值?有没有更高效的方式?7,既然你提到了 future 和 promise,你能说说他们是如何工作的吗?并给

2020-06-29 01:12:58

C++多线程并发编程基础

C++ 并发编程

2020-06-29 00:25:28

STL中排序函数Qsort,Sort,Stable_sort,Partial_sort,List::sort的用法

STL中排序函数的用法(Qsort,Sort,Stable_sort,Partial_sort,List::sort)https://yq.aliyun.com/articles/622472

2020-06-28 22:23:58

C11/C++11内存模型

C11/C++11内存模型1. 什么是内存模型?2. C11/C++11内存模型2.1 memory order releaxed2.2 memory order consume2.3 memory order acquire2.4 memory order release2.5 memory order acq_rel2.6 memory order seq_cst2.7 Relationship with volatile3. Reference现代计算机体系结构上,CPU执行指令的速度远远大于CPU

2020-06-18 11:48:46

位运算相关例题

利用“异或”处理数组的相关算法异或运算寻找数组中丢失的数找出数组中两个只出现一次的数字有N+2个数,N个数出现了偶数次,2个数出现了奇数次(这两个数不相等)异或运算异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示。运算时对运算符两侧的数转化为二进制形式,同值取0,异值取1。异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。性质1、

2020-06-16 18:17:06

位图总结

位图位图位图实现位图位图BitMap:位图是一个数组,数组中的每一个数据元素的每一个二进制位表示一个数据,0表示数据不存在,1表示数据存在。如上所示,当我们需要存放一个数据的时候,我们需要安装以下方法:首先确定这个数字在整个数据的哪一个数据(区间)。确定这个数据(区间)的哪一个Bit位上。在这个位上置1即可。举例假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个B

2020-06-13 17:33:24

std::bitset使用

std::bitsetstd::bitset模板文件声明初始化重载的位操作符访问赋值其他函数转换std::bitsetbitset是一种类似于数组的结构,不过只能存1or 0,而且优化内存空间,一个元素只占1bit模板文件声明//注意bitset中存储的最大bits数由模板参数N决定template <size_t N> class bitset;因为上面的size_t N决定了bitset最多存储的位数,所以得先看看size_t的定义关于size_t定义  size_t是一种

2020-06-13 12:51:42

GCC中libstdc++源码剖析之Hashtable

C++ STL源码剖析之Hashtable

2020-06-12 23:43:12

gcc、libc、libstdc++都是啥?

gcc、libc、libstdc++都是啥?从libc说起。那eglibc又是什么?还有一个glib又是什么呢?libc++/libstdc++,这两个库有关系吗?说完了这些库,这些库最终都是拿来干嘛的?那g++是做什么的?当你在linux下写C/C++代码的时候,是不是会遇到许多编译链接的问题? 时不时报个glibc,gcc,g++等相关的错误? 很多时候都无从下手,而且比较混乱。 这也是编译链接过程中经常出现的问题。这篇文章不是去介绍如何编译链接,而是理清编译链接过程中碰到的一些概念和出现的问题。尤

2020-06-12 11:40:42

内存对齐相关问题总结

海量数据处理 位图 布隆过滤器

2020-06-11 20:34:59

list、forward_list、deque的使用

deque、stack、queue、list的使用dequestackqueuelistdequestackqueuelist

2020-06-08 22:55:15

单例模式总结_饿汉模式和懒汉模式

单例模式单例模式-----饿汉模式单例模式-----懒汉模式单例模式-----饿汉模式https://blog.csdn.net/lvyibin890/article/details/81943637饿汉模式:像一个饿汉一样,不管需不需要用到实例都要去创建实例,即在类产生的时候就创建好实例,这是一种空间换时间的做法。作为一个饿汉而言,体现了它的本质——“我全都要”。单例模式-----懒汉模式懒汉模式:像一个懒汉一样,需要用到创建实例了程序再去创建实例,不需要创建实例程序就“懒得”去创建实例,

2020-06-08 01:36:20

内存池总结

内存池总结new和malloc的区别,malloc底层原理经典的内存池实现标准库的std::allocator头文件类模板声明实现使用示例SGI STL中的内存池实现alloc参考:https://blog.csdn.net/K346K346/article/details/49538975new和malloc的区别,malloc底层原理经典的内存池实现标准库的std::allocatorhttps://en.cppreference.com/w/cpp/memory/allocator头文件

2020-06-04 20:50:10

线程池总结

线程池

2020-06-04 20:42:02

可变形参函数

可变形参函数可变形参函数initializer_list实现可变参函数可变参数模板可变形参函数https://blog.csdn.net/qq_35280514/article/details/51637920在c++编程中,有时我们需要编写一些在源代码编写阶段无法确定参数个数,有时甚至无法确定参数类型的函数。因此我们需要一类函数:它们可以在运行时取任意的实参个数并根据实参的个数自动处理不同实参的情形,或者至少可以在运行时指定任意的实参个数。在C++中实现一个变参函数的方法有三种:第一种方法,

2020-06-04 14:22:38

重建二叉树&&二叉树的下一个节点

重建二叉树题目题目输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树,假设输入的前序遍历和中序遍历的结果中都不含重复的数字。struct BinaryTreeNode{ int value; BinaryTreeNode* left; BinaryTreeNode* right;}前序序列遍历确定root由root去将中序遍历序列一分为二,左边numsLeft个,右边numsRight则前序遍历的左子树[root+1,root+numsLeft-1],右子树[ro

2020-06-02 23:44:23

float,double类型的存储方式和精度丢失

float,double类型的存储方式即精度丢失计算机中浮点数的表示、存储方式计算机中浮点数的表示、存储方式

2020-06-01 23:07:55

array、tuple、string、vector的使用

array、string、vector

2020-05-29 18:18:18

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。