写点什么

内存管理

0 人感兴趣 · 34 次引用

  • 最新
  • 推荐

尽情阅读,技术进阶,详解 mmap 的原理

用户头像
奔着腾讯去6 月 15 日

mmap的作用,在应用这一层,是让你把文件的某一段,当作内存一样来访问。将文件映射到物理内存,将进程虚拟空间映射到那块内存。这样,进程不仅能像访问内存一样读写文件,多个进程映射同一文件,还能保证虚拟空间映射到同一块物理内存,达到内存共享的作用。

操作系统内核是什么?Linux 内核又是什么?读完这篇文章,我终于知道了

用户头像
奔着腾讯去6 月 8 日

操作系统(简称为OS)是一种软件平台,可创建一个环境,用户可以在该环境中在计算设备上运行不同的应用程序。 操作系统充当软件程序和系统硬件组件之间的桥梁。 它被移动设备,标签,台式机,Web服务器,视频游戏机等不同的设备所利用。市场上有各种操作系统

从底层原理出发,了解 Linux 内核之内存管理

本文讲解更加底层,基本都是从Linux内核出发,会更深入。所以当你都读完,然后再次审视这些功能的实现和设计时,我相信你会有种豁然开朗的感觉。

https://static001.geekbang.org/infoq/39/391dfb8d74deac3fb1dd7414562a6f0a.jpeg?x-oss-process=image/resize,w_416,h_234

JVM 之内存管理

用户头像
邱学喆6 月 7 日

JVM的内存组成结构,以及JVM的内存管理

LiteOS 内核源码分析:静态内存 Static Memory

​​​​​​摘要: 本文带领大家一起剖析了LiteOS静态内存模块的源代码,包含静态内存的结构体、静态内存池初始化、静态内存申请、释放、清除内容等。

小白也能看懂的操作系统之内存

用户头像
程序猿阿星4 月 25 日

操作系统是一门比较难啃的课程,同时操作系统知识对开发者们来说是十分重要,相信各位在学操作系统的时候,有太多的抽象难以理解的词汇与概念,把我们直接劝退,即使怀着满腔热血的心情学操作系统,不到 3 分钟睡意就突然袭来。

https://static001.geekbang.org/infoq/e5/e5b1cd61d88fc4f51069e0aac3a9bd42.jpeg?x-oss-process=image/resize,w_416,h_234

操作系统的内存管理(上)

用户头像
Arvin3 月 14 日

实现内存的分配,内存的回收等基本内存管理功能。提高内存的利用率和内存访问速度。

javascript 中的内存管理

用户头像
程序那些事3 月 1 日

在c语言中,我们需要手动分配和释放对象的内存,但是在java中,所有的内存管理都交给了java虚拟机,程序员不需要在手动进程内存的分配和释放,大大的减少了程序编写的难度。

Linux c 开发 - 内存管理器 ptmalloc

用户头像
赖猫2 月 23 日

了解ptmalloc内存管理器,就必须得先了解操作系统的内存布局方式。通过下面这个图,我很很清晰的可以看到堆、栈等的内存分布。

https://static001.geekbang.org/infoq/a4/a47eacaab2538dd41127ebf56b85cbe9.png?x-oss-process=image/resize,w_416,h_234

深入了解进程间通信:System V 信号量 + 共享内存

用户头像
ShenDu_Linux2020 年 12 月 2 日

前言:共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。

linux 后台开发必知的 linux 系统内存知识总结

用户头像
linux大本营2020 年 12 月 2 日

Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 Linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。从内存

https://static001.geekbang.org/infoq/89/898c0af930623da0e4e66323a417254d.jpeg?x-oss-process=image/resize,w_416,h_234

深入了解物理内存管理 - 伙伴 (Buddy) 算法

用户头像
ShenDu_Linux2020 年 11 月 30 日

伙伴关系的定义为:由一个母实体分成的两个各方面属性一致的两个子实体,这两个子实体就处于伙伴关系。在操作系统分配内存的过程中,一个内存块经常被分成两个大小相等的内存块,这两个大小相等的内存块就处于伙伴关系。它满足3个条件:两个块具有相同大小;

https://static001.geekbang.org/infoq/85/85b0cdcd0fc385a1383f68d5fd44a3c1.png?x-oss-process=image/resize,w_416,h_234

Netty 源码解析 -- PoolChunk 实现原理 (jemalloc 3 的算法)

用户头像
binecy2020 年 11 月 15 日

本文主要分享Netty 4.1.52之前版本中,PoolChunk如何使用jemalloc 3算法管理内存。

https://static001.geekbang.org/infoq/85/85b0cdcd0fc385a1383f68d5fd44a3c1.png?x-oss-process=image/resize,w_416,h_234

Netty 源码解析 -- PoolSubpage 实现原理

用户头像
binecy2020 年 11 月 8 日

前面文章说了PoolChunk如何管理Normal内存块,本文分享PoolSubpage如何管理Small内存块。

https://static001.geekbang.org/infoq/4e/4e4042452b271327748c10af6a370a43.jpeg?x-oss-process=image/resize,w_416,h_234

Netty 源码解析 -- 内存池与 PoolArena

用户头像
binecy2020 年 11 月 1 日

本文主要分析PoolArena的作用与实现。

https://static001.geekbang.org/infoq/4e/4e4042452b271327748c10af6a370a43.jpeg?x-oss-process=image/resize,w_416,h_234

Netty 源码解析 -- 内存对齐类 SizeClasses

用户头像
binecy2020 年 10 月 29 日

在学习Netty内存池之前,我们先了解一下Netty的内存对齐类SizeClasses,它为Netty内存池中的内存块提供大小对齐,索引计算等服务方法。

https://static001.geekbang.org/infoq/98/98b1960dfd3c1159bfe297d4328791f8.jpeg?x-oss-process=image/resize,w_416,h_234

Go 语言内存管理三部曲(三)图解 GC 算法和垃圾回收原理

用户头像
网管2020 年 10 月 22 日

白话Go语言的垃圾回收机制、图解Go语言GC的三色标记清楚算法。

https://static001.geekbang.org/infoq/f6/f61f78946385ba222f13c929c8aa6f4c.jpeg?x-oss-process=image/resize,w_416,h_234

Go 语言内存管理三部曲(二)解密栈内存管理

用户头像
网管2020 年 10 月 17 日

Go应用程序运行时,每个goroutine都维护着一个自己的栈区,这个栈区只能自己使用不能被其他goroutine使用。栈区的初始大小是2KB(比x86_64架构下线程的默认栈2M要小很多),在goroutine运行的时候栈区会按照需要增长和收缩

https://static001.geekbang.org/infoq/55/5522c7d3731e29ecc953ed59656d404f.png?x-oss-process=image/resize,w_416,h_234

Go 语言内存管理三部曲(一)内存分配原理

用户头像
网管2020 年 10 月 12 日

现代高级编程语言管理内存的方式分为两种:自动和手动,像C、C++ 等编程语言使用手动管理内存的方式,工程师编写代码过程中需要主动申请或者释放内存;而 PHP、Java 和 Go 等语言使用自动的内存管理系统,有内存分配器和垃圾收集器来代为分配和回收内存。

https://static001.geekbang.org/infoq/cc/cc69cbf9afdbaf4cd20bd2173b136484.png?x-oss-process=image/resize,w_416,h_234

Hazelcast IMDG 带你瞬间进入内存计算的时代

用户头像
张磊2020 年 10 月 8 日

Hazelcast是一个平台性的分布式内存网格计算框架引擎,可以实现基于分布式内存计算的诸多场景的应用框架 , 它作为一个开源可内嵌式内存网格计算框架,通过简单的配置, 就可以轻松的让你的应用拥有弹性可扩展的分布式内存计算能力,可以带你瞬间进入内存计

https://static001.geekbang.org/infoq/d0/d0a698fcf1927768b92e69450828cfad.jpeg?x-oss-process=image/resize,w_416,h_234

Rust 所有者被修改了会发生什么?

用户头像
袁承兴2020 年 9 月 25 日

写C++的时候,指针都在明面上。到了Rust,指针在很多场合都藏了起来。但遗憾的是,它们并不是真的想被遗忘掉,而是在和你躲猫猫,最终你不得不把它们揪出来,游戏才能继续。

高频面试题——你真的搞懂物理内存与虚拟内存了吗

用户头像
大柚子2020 年 8 月 24 日

虚拟内存是什么? 这是一个面试中经常被提到的问题,大多数人可能只记住了内存地址映射和缺页置换,但你真的搞懂了为什么会有虚拟内存了吗,它存在的作用是什么呢?

https://static001.geekbang.org/infoq/54/54e7b59ed1b5eac3d0f665d1463e555b.jpeg?x-oss-process=image/resize,w_416,h_234

C++ 借来的资源,如何还的潇洒?

用户头像
小林coding2020 年 8 月 17 日

所谓的资源就是,一旦用了它,将来必须还给系统。如果不是这样,糟糕的事情就会发生。

GaussDB for DWS:内存自适应控制技术总结

用户头像
华为云开发者社区2020 年 7 月 15 日

在SQL语句复杂、处理数据量大的AP场景下,单个查询对内存的需求越来越大,多个语句的并发很容易将系统的内存吃满,造成内存不足的问题。为了应对这种问题,GaussDB for DWS引入了内存自适应控制的技术,在上述场景下能够对运行的作业进行内存级的管控,避免高

https://static001.geekbang.org/infoq/c8/c85bfa9480db97cd5feef5a420f4a9c2.jpeg?x-oss-process=image/resize,w_416,h_234

Rust 所有权,可转可借

用户头像
袁承兴2020 年 7 月 14 日

堆变量的生命周期如何才能跨越原有作用域呢?

https://static001.geekbang.org/infoq/2c/2c010b034e999831a2a2fe68c74f7a6f.png?x-oss-process=image/resize,w_416,h_234

图说前端 - 使用 Atomics 避免 SharedArrayBuffers 中的 race conditions(3/3)

用户头像
梦见君笑2020 年 7 月 11 日

在 上一篇文章 ,我谈到了使用 SharedArrayBuffers 如何导致竞态条件(race conditions)。这使得使用 SharedArrayBuffers 变得困难。我不建议应用程序开发人员直接使用 SharedArrayBuffers。

内存管理_内存管理资料文章-InfoQ写作平台