上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页
摘要: (一)typedef/define的基本概念 1.typedef typedef int BOOL; #define TRUE 1 #define FALSE 0 定义好之后,就可以像使用基本类型数据一样使用它了,如下面的代码所示: BOOL bflag=TRUE; 2.与define的区别 typ 阅读全文
posted @ 2023-04-05 20:03 ImreW 阅读(10) 评论(0) 推荐(0) 编辑
摘要: (一)背景 实现多线程环境下的计数器操作,统计相关事件的次数. 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器 2 在寄存器加1 3 存入缓存。 由于时序的因素,多个线程操作同一个全局变量,会出现问题。这也是并发编程的难点。在目前多核条件下,这 阅读全文
posted @ 2023-04-05 19:32 ImreW 阅读(215) 评论(0) 推荐(0) 编辑
摘要: (一)malloc() 说明: C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。 原型: void *malloc( size_t size)//内存块的大小,以字节为单位。//该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返 阅读全文
posted @ 2023-04-05 19:19 ImreW 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 编译器属性__attribute__用于向编译器描述特殊的标识、检查或优化. (一)基本用法 __attribute__((cleanup(...))),用于修饰一个变量,在它的作用域结束时可以自动执行一个指定的方法,如: // 指定一个cleanup方法,注意入参是所修饰变量的地址,类型要一样 / 阅读全文
posted @ 2023-04-05 19:11 ImreW 阅读(153) 评论(0) 推荐(0) 编辑
摘要: (一)多重含义 C++中的 * 和 & 有多重含义,在不同的使用条件下有不同的意思: 1.* int *p = &a; /1.指针 a = a * b; /2.乘法 *p = 100; /3.指向 2.& int c = a&b; /1.位运算 转换为二进制 int *p = &a; /2.取地址 阅读全文
posted @ 2023-04-03 22:04 ImreW 阅读(19) 评论(0) 推荐(0) 编辑
摘要: (一)HashMap 这个问题我觉得可以从 HashMap 的一些关键点入手,例如 hash 函数、如何处理冲突、如何扩容。 HashMap 无非就是一个存储 <key,value> 格式的集合,使得通过 key 在 O(1) 的时间复杂下就能查找到 value。 基本原理就是将 key 经过 ha 阅读全文
posted @ 2023-04-03 15:41 ImreW 阅读(48) 评论(0) 推荐(0) 编辑
摘要: (一)数据库备份 主备、主从、主主有什么区别? 1.主备就是:主机和备机。 备机是不干活的,也就是不对外提供服务,只是默默地在同步主机的数据,然后等着某一天主机挂了之后,它取而代之! 至于切换的话主要有两种方式: 人工切换,得知主机挂了之后手动把备机切成主机,缺点就是慢。 利用 keepalived 阅读全文
posted @ 2023-04-02 20:44 ImreW 阅读(209) 评论(0) 推荐(0) 编辑
摘要: (一)to_categorical 说明: 简单来说,to_categorical就是将类别向量转换为二进制(只有0和1)的矩阵类型表示。其表现为将原有的类别向量转换为独热编码的形式。 例子: from keras.utils.np_utils import * #类别向量定义 b = [0,1,2 阅读全文
posted @ 2023-04-01 15:56 ImreW 阅读(31) 评论(0) 推荐(0) 编辑
摘要: (一)makefile 规则 一般开头都是 Tab ,不能空格, include 前面不能是 Tab; 1、如果没编译过,将所有的 (.c) 文件编译并且链接; 2、如果有其中的 (.c) 文件改变,编译并链接改变的文件; 3、如果(.h)文件被修改,编译引用相应的 (.c) 文件, 链接; 4、在 阅读全文
posted @ 2023-04-01 13:23 ImreW 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 一、线程池的由来 (一)为什么会有线程池? 想要深入理解线程池的原理得先知道为什么需要线程池。 首先你要明白,线程是一个重资源,JVM 中的线程与操作系统的线程是一对一的关系,所以在 JVM 中每创建一个线程就需要调用操作系统提供的 API 创建线程,赋予资源,并且销毁线程同样也需要系统调用。 而系 阅读全文
posted @ 2023-03-31 21:24 ImreW 阅读(28) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页