内存页表是什么意思?

来源:7-3 面试官:说说Hash、B、B-的区别和应用场景?-(1)

Sweet2021

2021-05-01

看了一些博客不明白。为什么内存要分段,还要什么分页?为什么内存页表通常是4K?

写回答

1回答

求老仙

2021-05-08

当应用读取内存中数据的时候,读取的实际上是虚拟内存。然后操作系统负责将虚拟内存映射到物理内存。为什么要这么做? 

  1. 内存不够用啊(明面上所有应用都要用内存,但是并不是每个时刻所有应用都需要在物理内存中,比如你打王者荣耀,切出去接电话了,是不是王者荣耀就不需要再内存中了?)

  2. 内存分成4k区域方便管理,你可以参考G1内存回收器,也将内存分成一个个小块。这种小块好管理啊。为什么是4k,也不一定就是4k。还有2k,8k。这个是经验,性能好。

分页,就是把虚拟内存分成要给个4k(如果是4k)的小块,每个是一页。 应用申请内存的时候,申请的是一堆小块,而不是任何大小的内存都可以申请。分段,就是应用内部(进程),将程序(指令)、常量、变量等等分成不同的区域使用。每个段,都有很多页。 

1
0

笑傲Java面试 剖析大厂高频面试真题 秒变offer收割机

深度剖析大厂面试高频真题,让你秒变offer收割机

1783 学习 · 314 问题

查看课程