jvm内存分配方法及策略

内存的分配方法

指针碰撞

在连续剩余空间中分配内存。用一个指针指向内存已用区和空闲区的分界点,需要分配新的内存时候,只需要将指针向空闲区移动相应的距离即可。

空闲列表

在不规整的剩余空间中分配内存。如果剩余内存是不规整的,就需要用一个列表记录下哪些内存块是可用的,当需要分配内存的时候就需要在这个列表中查找,找到一个足够大的空间进行分配,然后在更新这个列表。

分配方式的选择

指针碰撞的分配方式明显要优于空闲列表的方式,但是使用哪种方式取决于堆内存是否规整,而堆内存是否规整则由使用的垃圾收集算法决定。如果堆内存是规整的,则采用指针碰撞的方式分配内存,而如果堆是不规整的,就会采用空闲列表的方式。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容