为了账号安全,请及时绑定邮箱和手机立即绑定

解锁网络编程之NIO的前世今生

难度入门
时长 1小时40分
学习人数
综合评分9.57
43人评价 查看评价
9.5 内容实用
9.4 简洁易懂
9.8 逻辑清晰
谢谢老师,讲的很好
Set<SelectionKey> selectionKeys = selector.selectedKeys();这里没必要删除,也就没必要使用迭代器遍历了,因为for循环都会生成一个新的Set对象。如果是在for循环外声明并初始化Set<SelectionKey> selectionKeys = new HashSet<~>(),并且for循环中使用的是selectionKeys.addAll(selector.selectedKeys()),这样才需要迭代器删除的吧?请各位大佬不吝赐教。
找工作充充电..
老师最后的总结用的啥画图工具 哈
棒棒哒! 望他日富贵相见 !
老师讲的很棒

最赞回答 / 张小喜
最开始没有任何客户端接入时,serverSocketChannel注册的是ACCEPT事件,等待客户端接入;等到有客户端接入后,服务器与客户端建立的socketChannel就要注册READ事件了。而serverSocketChannel还是注册ACCEPT事件,继续等待其他客户端的接入。
OCM
非常好,课程清晰
每次select(),都应该使用一个空的SelectionKey集合。否则下次Select()再处理,会引起状态错误。所以 在每次的select()后的循环处理中,将每个Channel就绪信息删除,其实也可以在每次Select()后整体清空SelectionKey集合
怎么没人评论??难道我是第一个看这门课程的么??
@安安哥哥 自己做学习,测试是没有问题的,后面会讲到,如果在生产环境,不建议直接使用原生NIO编写。
红红火火,恍恍惚惚
服务器是CentOS不影响吧
后会有期,忘他日富贵相见!

最新回答 / 坚持2016
是要问什么问题
课程须知
1.具备基础Java知识 2.了解IO流相关知识 3.了解多线程相关知识
老师告诉你能学到什么?
1.了解编程模型,学会从模型角度学习一项新知识 2.温习BIO网络编程知识 3.学习NIO网络编程原理及设计思想 4.如何使用JDK中NIO相关核心类的API 5.通用NIO网络编程步骤 6.如何实现一个基于NIO的多人聊天室程序 7.NIO网络编程的缺陷有哪些

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消