- 博客(3)
- 收藏
- 关注
原创 Reference和Netty ByteBuf的泄漏追踪
java.lang.ref.Reference相关讨论不是一个特别常见的话题,netty用它实现了ByteBuf泄漏追踪。内存回收本身有一些随机性,而Reference的子类中的字段更是被用户操作,被内部线程操作,被jvm的垃圾回收器直接操作,所以整个对象的状态追踪复杂。由于多个线程参与其中,线程间的调度协作也可能会影响追踪的及时性。以java.lang.ref.WeakReference为例,get()方法返回值有时是预设对象,有时返回null。对于netty而已,追踪泄漏是否足够的准确,还是存在随机
2021-04-02 21:36:57 703
原创 jemalloc和Netty的ByteBuf
关于排查Netty内存泄露的资料非常的多,归根结底只有一个原因byteBuf没有release(),事实上想用java写出一个内存泄露的Demo都不太容易,所以Netty为什么会内存泄漏也是一个非常有意思的话题。在Netty官方的一次演讲《Netty One Framework to rule them all》中提到了Netty的内存管理,高性能的ByteBuf,提到了ByteBuf基于jemalloc(3)实现。1. jemalloc(3)论文全称:《A Scalable Concurrent ma
2021-03-27 12:19:18 259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人