https://api.vvhan.com/api/avatar/boy

技术博客分享

Netty基础4.NIO的使用简介二

大纲1.Buffer缓冲区2.Channel通道3.BIO编程4.伪异步IO编程5.改造程序以支持长连接6.NIO三大核心组件7.NIO服务端的创建流程8.NIO客户端的创建流程9.NIO优点总结10.NIO问题总结4.伪异步IO编程(1)BIO的主要问题(2)BIO编程模型的改进(3)伪异步IO编程(4)伪异步IO的问题(5)伪异步IO可能引起的级联故障(1)BIO的主要问题BIO的主要问题在于每当有一个新的客户端请求接入时,服务端必须创建一个新的线程来处理新接入的客户端链路,一个线程只能处理一个客户端连

Netty基础4.NIO的使用简介一

一般比较少会遇到直接操作Buffer的position、limit和mark的场景,通常都会使用上述操作Buffer缓冲区的几个方法:首先执行put()方法往缓冲区里写入数据,然后打算复用时,就执行clear()方法再重新写数据。这样处理的好处是可以让磁盘写的性能比较高,但如果此时系统宕机,那么OS Cache里的数据可能就会丢失。通道与流的区别在于:通道是双向的,流是单向的,一个流必须是InputStream和OutputStream的子类。在NIO中,所有的数据都是通过使用Buffer缓冲区来处理的。