一、 引用1.1 引用概念 引用(reference)是为变量起了另一个名字,而不是定义一个新变量。编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。其使用形式如下: 类型& 引用变量名(对象名) = 引用实体; eg: int ival = 1024;int &refVal = ...
分类:
编程语言 时间:
2021-04-12 11:45:29
阅读次数:
0
Redis 中 BitMap 的使用场景 BitMap BitMap 原本的含义是用一个比特位来映射某个元素的状态。由于一个比特位只能表示 0 和 1 两种状态,所以 BitMap 能映射的状态有限,但是使用比特位的优势是能大量的节省内存空间。 在 Redis 中,可以把 Bitmaps 想象成一个 ...
分类:
其他好文 时间:
2021-04-08 13:08:56
阅读次数:
0
结构体对齐的原因: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 各个硬件平台对存储空间的处理上有 ...
分类:
其他好文 时间:
2021-04-06 14:34:17
阅读次数:
0
线程与进程 进程 Process 一个内存中运行的应用程序,每个进程都有一个独立的内存空间 线程 Thread 进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少 有一个线程 操作系统调度,程序本身无法确定线程的调度顺序 并发与并行 并发 两个或多个事件在同一个时 ...
分类:
编程语言 时间:
2021-03-26 15:29:00
阅读次数:
0
一、选择排序 选择排序是一种非常简单而且很直观的排序算法,此排序算法的时间复杂度为O(n²),因此,从时间复杂度来看,需要排序的数据规模越小,效果就越好;它的好处就是在进行排序的过程中不会占用额外的内存空间。 选择排序的基本思想:每一次在n-i+1(i=1,2,3,...,n-1)个记录中选取最小的 ...
分类:
编程语言 时间:
2021-03-18 14:26:58
阅读次数:
0
抽象类 //当定义一个抽象方法的时候,它的类也必须是抽象类 public abstract class Person { //这就是抽象方法,它并没有方法体 public abstract void text(); } //因为它并不需要方法体,当Person实例化后,系统不会为抽象方法分配内存空间 ...
分类:
其他好文 时间:
2021-03-15 11:06:38
阅读次数:
0
要确保用 new 动态分配的内存空间在程序的各条执行路径都能被释放是一件麻烦的事情。C++ 11 模板库的 <memory> 头文件中定义的智能指针,即 shared _ptr 模板,就是用来部分解决这个问题的。只要将 new 运算符返回的指针 p 交给一个 shared_ptr 对象“托管”,就不 ...
分类:
编程语言 时间:
2021-03-10 13:24:26
阅读次数:
0
图片来源于:极客时间《数据结构与算法之美》 https://time.geekbang.org/column/intro/126 1. 数组 数组是最简单的数据结构,它的结构特点是:需要连续的内存空间,能够通过数组下标快速的访问数组内的元素,但是初始时需要指定大小,并且不能动态扩容,当容量不够时,需 ...
分类:
编程语言 时间:
2021-03-08 14:07:35
阅读次数:
0
内容摘自:数据结构与算法之美 链表 链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用。 单链表 链表通过指针将一组零散的内存块串联在一起。其中,我们把内存块称为链表的“结点”。 为了将所有的结点串起来,每个链表的结点不仅要存储数据,还需要记录下一个结点的地址。我们将这个记 ...
分类:
其他好文 时间:
2021-03-08 13:20:35
阅读次数:
0
一、JAVA HEAP内存空间 Memory structure Of a JVM process java堆内存空间分为: 新生代 新生区(Eden):初创对象 存活区(Survivor):步入成熟期的初创对象 ss1: ss2: 老年代 mark --> compact 持久代 垃圾回收期: 新 ...
分类:
其他好文 时间:
2021-02-25 11:53:46
阅读次数:
0