海纳《编程高手必学的内存知识》学好内存,掌握系统开发诀窍

海纳《编程高手必学的内存知识》学好内存,掌握系统开发诀窍

你将获得

一条通往系统级程序员的学习路径

全面深入拆解计算机内存系统

吊打面试官的 N 个小技巧

从内存贯穿全局,全面提升底层硬实力

课程介绍

作为程序员,我们每天都在跟计算机内存系统打交道。无论你是做移动端、服务端,还是全栈开发,难免遇到些复杂问题,诸如:

如何解决缓冲区溢出带来的安全问题?

如何利用好 CPU Cache 优化程序的性能?

如何在大型系统里设计适合自己业务的内存池?

设计高性能的并发库时,要考虑哪些与内存相关的因素?

对于这些问题,你只有深入到计算机内存中,才能找出最佳的解决方案。而且,现在企业愈加青睐于擅长处理复杂问题、能进行底层开发的系统级程序员,这也是为什么,计算机内存相关的话题几乎是大厂面试的必考内容。

内存相关的知识如此重要,但学起来并不是一件简单的事情。这是因为,内存知识太过庞杂,涉及到 CPU 硬件设计、操作系统、编译器,以及编程语言库、虚拟机等众多领域,需要你有大量的知识储备。

更何况,内存相关的知识能够串联起计算机软、硬件的全局脉络,提高你的底层实力,是你从普通程序员向前精进,突破职业生涯瓶颈的不二选择。

所以,这次我们请来了华为资深编译器专家、原 Huawei JDK 负责人海纳老师。海纳老师会用自己十余年的编程经验,带你全面拆解计算机内存系统,给你一条从内存出发,通往系统级程序员的高效学习路径。同时,我们在每节课课后都设置了“吊打面试官”小卡片,涉及各大厂高频面试真题,让你全方位提升自己在内存上的实战能力。

课程目录

01|为什么可用内存会远超物理内存?.pdf

02丨X86体系结构中的实模式和保护模式.pdf

03丨内存布局:应用程序是如何安排数据的?.pdf

04丨深入理解栈:从CPU和函数的视角看栈的管理.pdf

05丨栈的魔法:从栈切换的角度理解进程和协程.pdf

06丨静态链接:变量与内存地址是如何映射的?.pdf

07丨动态链接(上):地址无关代码是如何生成的?.pdf

08丨动态链接(下):延迟绑定与动态链接器是什么?.pdf

09丨深入理解堆:malloc和内存池是怎么回事?.pdf

10丨页中断:fork、mmap背后的保护神.pdf

11丨即时编译:高性能JVM的核心秘密.pdf

12丨内存虚拟化:云原生时代的奠基者.pdf

13丨存储电路:计算机存储芯片的电路结构是怎样的?.pdf

14丨CPUCache:访存速度是如何大幅提升的?.pdf

15丨MESI协议:多核CPU是如何同步高速缓存的?.pdf

16丨内存模型:有了MESI为什么还需要内存屏障?.pdf

17丨NUMA:非均匀访存带来了哪些提升与挑战?.pdf

18丨Java内存模型:Java中的volatile有什么用?.pdf

19丨垃圾回收:如何避免内存泄露?.pdf

20丨Scavenge:基于copy的垃圾回收算法.pdf

21丨分代算法:基于生命周期的内存管理.pdf

22丨G1GC:分区回收算法说的是什么?.pdf

23丨PauselessGC:挑战无暂停的垃圾回收.pdf

24丨GC实例:Python和Go的内存管理机制是怎样的?.pdf

不定期福利第二期丨软件篇答疑.pdf

不定期福利第一期丨海纳:我是如何学习计算机知识的?.pdf

导学(二)丨汇编语言是怎么一回事?.pdf

导学(三)丨一个CPU是怎么寻址的?.pdf

导学(一)丨拆解CPU的基本结构和运行原理.pdf

结束语丨自主基础软件开发的那片星辰大海.pdf

开篇词|为什么你要系统学习计算机的内存知识?.pdf

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址