前言 Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是 Java 能大行其道的重要原因之一,GC 真正让程序员的生产力得到了释放,但是 ...
分类:
编程语言 时间:
2021-03-01 14:04:44
阅读次数:
0
最近正在学习linux下堆的管理机制,收集了书籍和网络上的资料,以自己的理解做了整理,做个记录。如果有什么不对的地方欢迎指出! Memory Allocator 常见的内存管理机制 dlmalloc:通用分配器 ptmalloc2:glibc分配器,继承自dlmalloc,并提供了多线程支持,主要研 ...
分类:
其他好文 时间:
2021-02-26 12:56:38
阅读次数:
0
现代操作系统的内存分配以页为单位进行管理,而页通过段进行管理,组成了段页式内存管理。 本文对C++程序的各段进行简单的区分,并厘清各段在可执行程序与进程中的状态关系。 程序大体被划分为两部分,只读部分和读/写部分,这源于历史上ROM和RAM两类存储器的划分。尽管现代存储器的发展早就突破了这种分类方式 ...
分类:
其他好文 时间:
2021-02-24 13:14:30
阅读次数:
0
技术纲1:根据计算机体系 自底向上 梳理的大纲 一级分类二级分类三级分类要点说明链接 架构 设计哲学 架构 架构-演进历史 架构 架构-微服务设计模式 架构 架构-DDD 设计模式 面向对象SOLID原则 设计模式 21款开发设计模式 中间件 容错-熔断 中间件 容错-限流 中间件 监控-JVM 中 ...
分类:
编程语言 时间:
2021-02-09 12:34:35
阅读次数:
0
1、内存管理介绍 内存:由可读写单元组成,表示一片可操作性控件 管理:人为的去操作一片空间的申请、使用和释放 内存管理:开发者主动申请空间、使用空间、释放空间 管理流程:申请-使用-释放 2、内存管理 // 申请 let obj = {}; // 使用 obj.name = 'zs'; // 释放 ...
分类:
编程语言 时间:
2021-02-02 11:24:12
阅读次数:
0
1、背景知识 1.1、Linux内核 Linux内核的主要组件如图1所示,有系统调用接口、进程管理、内存管理、虚拟文件系统、网络堆栈、设备驱动程序、硬件架构的相关代码。 其中进程管理主要控制系统进程对CPU的访问。当需要某个进程运行时,由进程调度器根据基于优先级的调度算法启动新的进程。Linux上单 ...
分类:
系统相关 时间:
2021-01-30 12:20:06
阅读次数:
0
本文主要总结了Memcahce与Redis在性能、分布式与集群、数据类型、持久性、数据一致性、内存管理机制方面的异同。 ...
分类:
系统相关 时间:
2021-01-27 13:42:11
阅读次数:
0
C++的内存管理 基本类型的内存占用 数据类型 32位 64位 取值范围(32位) char 1 1 -128~127 unsigned char(当byte使用) 1 1 0~255 short int /short 2 2 –32,768~32,767 unsigned short 2 2 0~ ...
分类:
编程语言 时间:
2021-01-22 12:11:10
阅读次数:
0
引言 说到 C++ 的内存管理,我们可能会想到栈空间的本地变量、堆上通过 new 动态分配的变量以及全局命名空间的变量等,这些变量的分配位置都是由系统来控制管理的,而调用者只需要考虑变量的生命周期相关内容即可,而无需关心变量的具体布局。这对于普通软件的开发已经足够,但对于引擎开发而言,我们必须对内存 ...
分类:
编程语言 时间:
2021-01-15 12:06:28
阅读次数:
0
浅谈「内存调试技术」 浅谈「内存调试技术」 一、影子内存(shadow memory)- 比例+偏移的映射算法 内存问题在 C/C++ 程序中十分常见,比如缓冲区溢出,使用已经释放的堆内存,内存泄露等。 程序大了以后,查找起来又特别的难。即使我们在写程序时非常的仔细小心,代码一多,还是难以保证没有问 ...
分类:
其他好文 时间:
2021-01-07 11:49:21
阅读次数:
0