Valgrind工具详解 1.Memcheck 最常用的工具,用来检测程序中出现的内存问题,所有对内存的读写都会被检测到,一切对malloc、free、new、delete的调用都会被捕获。所以,它能检测以下问题: 1、对未初始化内存的使用; 2、读/写释放后的内存块; 3、读/写超出malloc分 ...
分类:
其他好文 时间:
2021-06-02 11:25:21
阅读次数:
0
无论是上层应用还是操作系统内核开发,内存问题都是我们所需要关注的。 我们来看看Linux内核管理和分配机制。 伙伴系统 伙伴系统从物理连续的大小固定的段上进行分配。从这个段上分配内存,采用 2 的幂分配器来满足请求分配单元的大小为 2 的幂(4KB、 8KB、16KB 等)。请求单元的大小如不适当, ...
分类:
编程语言 时间:
2021-02-16 11:41:30
阅读次数:
0
浅谈「内存调试技术」 浅谈「内存调试技术」 一、影子内存(shadow memory)- 比例+偏移的映射算法 内存问题在 C/C++ 程序中十分常见,比如缓冲区溢出,使用已经释放的堆内存,内存泄露等。 程序大了以后,查找起来又特别的难。即使我们在写程序时非常的仔细小心,代码一多,还是难以保证没有问 ...
分类:
其他好文 时间:
2021-01-07 11:49:21
阅读次数:
0
https://www.robots.ox.ac.uk/~vgg/research/smooth-ap/ https://github.com/Andrew-Brown1/Smooth_AP Smooth-AP: Smoothing the Path Towards Large-Scale Imag ...
分类:
其他好文 时间:
2020-11-17 13:00:10
阅读次数:
25
1 object sev = null; 2 string message = gp.GetMessages(ref sev); 3 //如果错误中包含Error:999999说明是内存问题 4 方法一 1 方法二 2 string str = ""; 3 for (int i = 0; i < g ...
分类:
其他好文 时间:
2020-09-18 01:53:24
阅读次数:
35
1 在JavaScript中的变量分别区分为两种: 一种为基本类型值,一种为应用类型值。 基本类型值指的是简单的数据段 引用类型值为可能由多个值组成的对象 引用类型的值是保存在内存中的对象,JavaScript不允许直接操作对象的内存空间,实际上操作对象的引用而不是实际对象。 var dada = ...
分类:
编程语言 时间:
2020-08-20 19:23:10
阅读次数:
112
Redis的数据类型可谓是Redis的精华所在,同样的数据类型,但不同的值对应的存储结构也是不同的。比如:当你存储一个短字符串(小于44字节),实际存储的结构是embstr;长字符串对应的实际存储结构是raw,这样设计的目的就是为了更好的节约内存。 问题:Redis都有哪些数据类型呢? 最常用的数据 ...
分类:
其他好文 时间:
2020-07-10 14:52:54
阅读次数:
40
1 问题 当使用pdfjs来实现预览功能的时候,遇到了2个问题: 一是带宽占用过大,会下载整个pdf文件,这对部署在公网的应用来说,成本压力很大,因为云服务带宽是很贵的。 二是内存占用过大,一个80M的pdf,在预览时占用内存高达600M,在一些内存较小的手机上容易发生崩溃。 pdfjs默认配置下, ...
分类:
Web程序 时间:
2020-07-02 20:09:25
阅读次数:
225
一、简介 使用MAT来分析内存问题,有一些门槛,会有一些难度,并且效率也不是很高,对于一个内存泄漏问题,可能要进行多次排查和对比才能找到问题原因。 为了能够简单迅速的发现内存泄漏,Square公司基于MAT开源了LeakCanary 二、使用 在app build.gradle 中加入引用: dep ...
分类:
其他好文 时间:
2020-05-22 19:05:39
阅读次数:
66
变量 JavaScript变量可以用来保存两种类型的值:基本类型和引用类型 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中 引用类型的值是对象,保存在堆内存中 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本 包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对 ...
分类:
其他好文 时间:
2020-04-29 10:55:40
阅读次数:
50