240 发简信
IP属地:江苏
  • 120
    Java程序员必知:深入理解Instrument

    一. 前提 很早之前就了解到目前主流的APM开源框架如Pinpoint、SkyWalking等等都是通过java.lang.instrument包提供的字节码增强功能来实现的...

  • 120
    海量连接服务端jvm参数调优杂记

    应用:shark-新美大移动端网络优化(每日接受移动端请求约150亿) 应用特点: qps比较高,新生代增长飞快 用户的连接需要维持一段时间 单机需要维持海量连接,几十万的级...

  • 小问题2我也认为是你说的这样的。timeoutMillis <= 0可以等价为"最近一个延时任务的执行时间"-"当前时间"+0.5ms <= 0,相当于 "当前时间" >= "最近一个延时任务的执行时间"+0.5ms

    netty源码分析之揭开reactor线程的面纱(一)

    netty最核心的就是reactor线程,对应项目中使用广泛的NioEventLoop,那么NioEventLoop里面到底在干些什么事?netty是如何保证事件循环的高效轮...

  • 膜我司大佬,Netty系列写得真好。
    看这篇文章发现了一些小问题:
    1.rebuildSelector中for死循环代码截取的有问题
    2.如果发现当前的定时任务队列中有任务的截止事件快到了(<=0.5ms),就跳出循环 这里写的有问题,这里的含义应该是如果任务超时时间已经过了0.5ms以上,那么才跳出循环

  • 我们可以看到,NioEventLoop中reactor线程的select操作也是一个for循环,在for循环第一步中,如果发现当前的定时任务队列中有任务的截止事件快到了(<=0.5ms),就跳出循环。
    ===分割线
    大哥请教这段代码的语义是不是应该是延迟任务队列中第一个任务的最晚还能延迟执行的时间小于500000纳秒,应该是任务可以延迟的时间吧.如果超过这个时间就走timeoutMillis <= 0这个流程吧

  • 感谢,真的是良心作品,手把手教我们怎么解决问题,关键解决问题的思路非常清晰。刚刚自己也去PlatformDependent类瞅了瞅,发现堆外内存计数现在可以不用反射了,直接取"PlatformDependent.usedDirectMemory()"返回值进行打印就好。

    netty 堆外内存泄露排查盛宴

    这篇文章对于排查使用了 netty 引发的堆外内存泄露问题,有一定的通用性,希望对你有所启发 背景 最近在做一个基于 websocket 的长连中间件,服务端使用实现了 so...