博客
关于我
网络编程 调用 操作系统底层知识
阅读量:747 次
发布时间:2019-03-22

本文共 406 字,大约阅读时间需要 1 分钟。

需要有一定的BIO和NIO的基础和经验,方可读懂本文章

笔者懒,其中奥秘需自行领悟

  1. 编译.java文件

    在这里插入图片描述

  2. 追踪并运行此文件,可以看到调用 操作系统的具体执行函数

    在这里插入图片描述

  3. 有一个客户端连接后看看输出的日志

    在这里插入图片描述

4.查看Main线程的日志

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最终总结(epoll)

  1. 每次一开始先在操作系统里面开辟一个内核空间,用于存储需要监听的fd
  2. 在Java中向select.register()注册,就相当于向此内核空间里面存贮 对应的fd
  3. select.select() 就是操作系统的wait,等待看看哪些事件发生,返回对应的fd集合
    poll中是通过轮询的方式看哪些事件是否发生,而epoll则是通过事件驱动的方式来监听事件是否发生,因此epoll效率会更高些

https://blog.csdn.net/wteruiycbqqvwt/article/details/90299610 (深入理解select、poll和epoll及区别)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

你可能感兴趣的文章
Netty 的 Handler 链调用机制
查看>>
Netty 编解码器和 Handler 调用机制
查看>>
Netty 编解码器详解
查看>>
Netty 解决TCP粘包/半包使用
查看>>
Netty 调用,效率这么低还用啥?
查看>>
Netty 高性能架构设计
查看>>
Netty+Protostuff实现单机压测秒级接收35万个对象实践经验分享
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
查看>>
netty--helloword程序
查看>>
netty2---服务端和客户端
查看>>
【Flink】Flink 2023 Flink易用性和稳定性在Shopee的优化-视频笔记
查看>>
Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
查看>>
netty——bytebuf的创建、内存分配与池化、组成、扩容规则、写入读取、内存回收、零拷贝
查看>>
netty——Channl的常用方法、ChannelFuture、CloseFuture
查看>>
netty——EventLoop概念、处理普通任务定时任务、处理io事件、EventLoopGroup
查看>>
netty——Future和Promise的使用 线程间的通信
查看>>
netty——Handler和pipeline
查看>>
Vue输出HTML
查看>>
netty——黏包半包的解决方案、滑动窗口的概念
查看>>
Netty中Http客户端、服务端的编解码器
查看>>