关注
要是我回答的话我大概会这么说:
在我看来根本就不存在直接内存的GC这一说法。Netty 也好ES也好kafka也好,在版本迭代中把一部分数据结构放到堆外就是为了防止GC的随机性带来的抖动。这是语义层面,对于堆外的内存我更倾向的说法是归还或者释放。
java服务是一个进程,向os申请了一块内存(大内存申请一般是依赖mmap这个系统调用),而且这块内存不归jvm管。jvm内部只维护一个指向堆外内存的指针而已。
使用者必须要全权负责这块内存的生命周期。所以一般的策略是将其池化,引入相关的策略管理这片“非法”区域——可以参考一下netty的做法。
至于所谓的gc,其实就是将申请的内存归还操作系统。这部分只能交由jvm做,我记得应该是在回收bufferpool对象时执行它的销毁方法从而归还该块内存。
查看原帖
点赞 6
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8463次浏览 211人参与
# 实习简历求拷打 #
12748次浏览 160人参与
# 被上班搭子“传染”了哪些习惯 #
5624次浏览 99人参与
# 秋招被挂春招仍然能投的公司 #
6882次浏览 99人参与
# 工作后,你落下了哪些病根 #
13570次浏览 190人参与
# mt对你说过最有启发的一句话 #
36226次浏览 429人参与
# 外包能不能当跳板? #
54117次浏览 256人参与
# 作业帮求职进展汇总 #
83156次浏览 547人参与
# 摸鱼被leader发现了怎么办 #
101543次浏览 643人参与
# 秋招特别不鸣谢 #
15812次浏览 177人参与
# 考研失败就一定是坏事吗? #
201169次浏览 1373人参与
# 选实习,你更看重哪方面? #
14212次浏览 217人参与
# 投格力的你,拿到offer了吗? #
152676次浏览 817人参与
# 第一次面试 #
1036521次浏览 13683人参与
# 今年秋招你收到了多少封邮件? #
18055次浏览 219人参与
# 京东美团大战,你怎么看? #
158126次浏览 860人参与
# 机械/制造每日一题 #
80267次浏览 1411人参与
# 担心入职之后被发现很菜怎么办 #
266310次浏览 1133人参与
# 你今年的保底offer是哪家 #
155181次浏览 673人参与
# 携程求职进展汇总 #
840269次浏览 5536人参与
