updateParentsAlloc()逐层往上查询父节点标记已被使用造成节点资源浪费

来源:7-12 page 级别内存分配

鋒Nic

2018-06-27

0<-----------------------------0~16M
1<------------------------0~8M    8~16M
2<-------------------0~4M    4~8M    8~12M    12~16M
                                                   ...
10<-----------0~16K    16K~32K    32K~48K ...
11<------0~8K    8K~16K    16K~24K    24K~32K  ...

假如现在分配的内存是16K,此时第10层0~16K这个节点标记为已被使用,向上的父节点譬如0~32K等等都被标记为已被使用的话,这些节点剩余的内存空间就一直用不上了,这样是不是很浪费节点内存资源

写回答

1回答

闪电侠

2018-06-27

这个问题是存在的,但是也是合理的,只要一块连续的小段内存被分配,那这块内存就断开了,无法分配垮过这段内存的大块连续内存,但是小内存块还是能够分配的

1
1
鋒Nic
非常感谢!
2018-06-28
共1条回复

Java读源码之Netty深入剖析

解析netty各大组件细节,百万级性能调优,设计模式实际运用

2334 学习 · 283 问题

查看课程