02 2022 档案

摘要:Nio空轮询bug在哪里体现,并如何解决? 在NioEventLoop中,run方法中是一个死循环,所以需要通过调用selector来进行阻塞。如果这个bug发生了,即使没有超时,也会不断进行循环,导致cpu占用率会到达100%。 @Override protected void run() { i 阅读全文
posted @ 2022-02-28 17:48 会编程的老六 阅读(72) 评论(0) 推荐(0) 编辑
摘要:问题描述 在项目中,使用到了resources文件下的数据文件,使用的是File方式: // ResourceUtils.CLASSPATH_URL_PREFIX 值为:"classpath:" // cityProperties.getPath(); 为要使用的文件地址 String path = 阅读全文
posted @ 2022-02-24 18:01 会编程的老六 阅读(5329) 评论(0) 推荐(0) 编辑
摘要:前言 由于整个NioEventLoop类过大,其中还有很多从父类继承的方法。所以在这里通过以问题驱动的方式,对重要部分进行逐步分析。 组成部分 Selector private Selector selector; private Selector unwrappedSelector; 线程 在父类 阅读全文
posted @ 2022-02-16 13:30 会编程的老六 阅读(78) 评论(0) 推荐(0) 编辑
摘要:Netty源码分析-启动流程 原生NIO启动流程 // netty 中使用 NioEventLoopGroup (简称 nio boss 线程)来封装线程和 selector Selector selector = Selector.open(); // 创建 NioServerSocketChan 阅读全文
posted @ 2022-02-11 14:45 会编程的老六 阅读(73) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示