关注
要是我回答的话我大概会这么说:
在我看来根本就不存在直接内存的GC这一说法。Netty 也好ES也好kafka也好,在版本迭代中把一部分数据结构放到堆外就是为了防止GC的随机性带来的抖动。这是语义层面,对于堆外的内存我更倾向的说法是归还或者释放。
java服务是一个进程,向os申请了一块内存(大内存申请一般是依赖mmap这个系统调用),而且这块内存不归jvm管。jvm内部只维护一个指向堆外内存的指针而已。
使用者必须要全权负责这块内存的生命周期。所以一般的策略是将其池化,引入相关的策略管理这片“非法”区域——可以参考一下netty的做法。
至于所谓的gc,其实就是将申请的内存归还操作系统。这部分只能交由jvm做,我记得应该是在回收bufferpool对象时执行它的销毁方法从而归还该块内存。
查看原帖
点赞 6
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
17805次浏览 305人参与
# 硬件人你反向读研了吗 #
39635次浏览 608人参与
# 京东TGT #
26077次浏览 151人参与
# 硬件人秋招的第一个offer #
65419次浏览 1081人参与
# 滴滴工作体验 #
23102次浏览 123人参与
# 非技术岗投递进展 #
137511次浏览 1222人参与
# 材料进Fab厂真的劝退吗? #
35919次浏览 158人参与
# 不考虑转正,实习多久合适 #
23923次浏览 117人参与
# 机械求职避坑tips #
40907次浏览 355人参与
# 互联网回暖,腾讯要招5000+人! #
263481次浏览 4889人参与
# 面试经验谈 #
11699次浏览 176人参与
# 机械只有转码才有出路吗? #
125857次浏览 1590人参与
# 职场新人生存指南 #
331184次浏览 7106人参与
# 面试吐槽bot #
2360次浏览 28人参与
# 异地恋该为对方跳槽吗 #
22676次浏览 115人参与
# 硬件人更看重稳定还是高薪 #
37860次浏览 199人参与
# vivo求职进展汇总 #
208584次浏览 1341人参与
# 25届如何提前做秋招准备? #
163895次浏览 2451人参与
# 你遇到过哪些神仙同事 #
69206次浏览 623人参与
# 租房找室友 #
27203次浏览 143人参与
# 深信服求职进展汇总 #
188581次浏览 1694人参与