在linux下,使用top,vmstat,free等命令查看系统或者进程的内存使用情况时,经常看到buff/cache memeory,swap,avail Mem等,他们都代表什么意思呢?这篇文章将来聊一聊Linux下的内存管理并解答这个问题。 讨论Linux下的内存管理其实就是讨论Linux下虚 ...
分类:
系统相关 时间:
2019-08-29 20:25:38
阅读次数:
111
基本 Python 面试问题 1. Python 中的列表和元组有什么区别? 2. Python 的主要功能是什么? 3. python 是编程语言还是脚本语言? 4. Python 是一种解释性语言吗? 5. 什么是 pep 8? 6. python 是如何进行内存管理的? 7. 什么是 Pyth ...
分类:
编程语言 时间:
2019-08-26 22:45:47
阅读次数:
102
#include<stdio.h> /*头文件*/ #define PROCESS_NAME_LEN 32 /*进程名长度*/ #define MIN_SLICE 10 /*最小碎片的大小*/ #define DEFAULT_MEM_SIZE 1024 /*内存大小*/ #define DEFAUL ...
分类:
编程语言 时间:
2019-08-26 00:51:11
阅读次数:
121
提到Java的内存管理,我始终抱有一种又爱又恨的心理。作为一门面向对象的高级语言,Java的确为减轻程序员的负担做出了巨大的努力,它的垃圾回收机制帮助百万程序员从C系语言恼人的内存管理问题中解脱出来,成为自身的一大亮点;但同时,垃圾回收机制的不可强制执行的特点,又让了解过C/C++的人觉得自动垃圾回 ...
分类:
编程语言 时间:
2019-08-26 00:40:37
阅读次数:
94
我们几乎无法从Java本身改变其回收机制的策列,但我们可以改变我们的编程方式和在编程中的注意事项。 1.Java没有C++中对象析构的功能,但Java的垃圾回收机制是有原则的,它会回收没有变量引用的对象。这种对象没有变量引用它,也就再也不可能有任何方法找到这个“丢失的”对象了——GC回收的就是这种对 ...
分类:
编程语言 时间:
2019-08-26 00:21:02
阅读次数:
94
一、内存申请 1.建议使用calloc申请内存,尽量不要使用malloc。 calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。 2.申请内存大小必须大于0. (1)使用0字节长度申请内存的行为是没有定义的,在引用内存申请函数返回地址时会引发不 ...
分类:
编程语言 时间:
2019-08-25 18:29:26
阅读次数:
118
教你阅读 Cpython 的源码 目录 第一部分 介绍 Cpython 源代码中有什么? 如何编译Cpython代码 编译器能做什么? 为什么 Cpython 是用C语言而是 Python 编写的? Python语言的规范 Cpython 中的内存管理机制 结论 第二部分 Python 解释器进程 ...
分类:
编程语言 时间:
2019-08-25 01:28:02
阅读次数:
181
高性能go服务之高效内存分配 手动内存管理真的很坑爹(如C C++),好在我们有强大的自动化系统能够管理内存分配和生命周期,从而解放我们的双手。 但是呢,如果你想通过调整JVM垃圾回收器参数或者是优化go代码的内存分配模式话来解决问题的话,这是远远不够的。自动化的内存管理帮我们规避了大部分的错误,但 ...
分类:
其他好文 时间:
2019-08-24 14:59:37
阅读次数:
81
1、概述 本文档介绍了ARMv8-A架构内存管理的关键——内存地址转换,包括虚拟地址(VA)到物理地址(PA)的转换、地址转换表格式以及TLBs(Translation Lookaside Buffers)管理。 对于任何进行底层bootloader或者驱动代码开发的人员来说,这部分内容都是非常实用 ...
分类:
其他好文 时间:
2019-08-24 09:26:10
阅读次数:
81
1、calloc 表头文件 #include <stdlib.h> 定义函数 void *calloc(size_t nmemb,size_t size); 函数说明 calloc()用来配置nmemb 个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针。这和使用下列的方式效果相 ...
分类:
其他好文 时间:
2019-08-24 00:07:12
阅读次数:
77