- 博客(2)
- 收藏
- 关注
原创 一次排查jvm堆内存溢出的经验
背景需要读取一个流,将读到的数据进行分片并上传到一个存储服务。流的读取速率非常快,但是上传每个分片的耗时相对较长(http)。单线程处理虽然可以节省内存的使用,但耗时很长,不可接受。通过将上传分片的任务进行异步化提高效率,后果是大量的分片数据同时存在于内存中,可能会导致内存溢出。现象分析在数据比较小的时候,没有任何问题,但是在流很大的时候出现了堆(heap)内存溢出。出现上...
2020-02-16 16:45:14 223
原创 netty的handler和decoder中的channelRead和decode方法的执行理解
对于ChannelInboundHandlerAdapter中的channelRead(ChannelHandlerContext ctx, Object msg),如果在这个处理器之前还没有做任何处理,则msg的类型为io.netty.buffer.PooledUnsafeDirectByteBuf,当你读取数据的时候如果读取的字节数超过了msg中writerIndex则程序将直接报异常...
2018-05-16 18:40:38 6892
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人