![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
异步AIO
文章平均质量分 62
无
lolxxs
这个作者很懒,什么都没留下…
展开
-
Java AIO类图总结
类图类名作用AutoCloseable接口该接口只有一个close()方法,实现该接口的对象在退出try-with resources块时会自动调用close()方法Closeable接口Closeable接口的close()与AutoCloseable接口的close()方法不同的是,Closeable规定其close()是幂等性的,即多次调用效果都是一样的,而AutoCloseable接口的close()方法多次调用可能出现错误Channel接口通道表示与能够执原创 2021-12-19 18:40:41 · 513 阅读 · 0 评论 -
Java AsynchronousChannel接口
总结实现AsynchronousChannel接口的通道是支持异步I/O操作的通道。异步I/O操作通常采用以下两种形式之一,返回Future和进行CompletionHandler回调函数操作在第一种形式中,返回的是Future接口,Future接口定义的方法可用于检查操作是否已完成, 等待其完成以及检索结果(一般是读取或写入的实际字节数)在第二种形式中,在I/O操作完成或失败时会自动调用CompletionHandler回调函数,回调函数有两个参数,一个是返回的I/O操作结果(一般是读取或写入的实原创 2021-12-19 18:32:19 · 418 阅读 · 0 评论 -
java StandardSocketOptions套接字选项类
总结Socket套接字选项选项名作用SO_BROADCAST启用表示允许传输广播数据报,指的是允许使用IPv4的广播地址发送数据报,默认是禁用SO_KEEPALIVE启用表示保持连接活跃,即持久连接,在连接空闲时操作系统可以使用保持活动机制定期探测连接的另一端,一般时空闲2小时后,发送第一个探测分组,如果没收到回应每隔75秒发送一个探测分组,最多重复发送9次,即当空闲后7875s才会真正断开连接,默认是禁用SO_SNDBUF套接字发送缓冲区的大小,单位是字节,如果是原创 2021-12-14 17:02:01 · 851 阅读 · 0 评论 -
java AsynchronousSocketChannel虚拟类
文章目录总结通道启动方法socket设置选项和关闭相关方法socket发起连接和读写相关方法(全是异步操作)总结AsynchronousSocketChannel虚拟类实现了AsynchronousByteChannel接口和NetworkChannel接口,自然具有这两个接口的语义AsynchronousSocketChannel虚拟类是面向流的连接套接字的异步通道,有两种创建方式,第一种通过调用此类定义的open方法创建的,通过此方法创建的通道虽然已打开,但尚未连接,第二种方法是连接到Async原创 2021-12-14 14:57:19 · 735 阅读 · 0 评论 -
java CompletionHandler接口
总结实现 CompletionHandler接口的类是用于使用异步I/O操作结果的处理程序CompletionHandler是配合异步通道使用的,异步通道允许指定完成处理程序CompletionHandler来使用异步操作的结果,当I/O操作成功完成时,将调用completed方法。如果I/O操作失败,将调用failed方法,这些方法的实现应该及时完成,以避免阻止调用线程分派给其他完成处理程序CompletionHandler接口方法方法名作用void completed(V原创 2021-12-14 13:50:54 · 1617 阅读 · 0 评论 -
java AsynchronousByteChannel接口
总结实现AsynchronousByteChannel接口表示该类是可以读取和写入字节的异步通道某些通道可能不允许在任何给定时间有多个未完成的读或写操作。如果线程在前一个读取操作完成之前调用了读取方法,那么将抛出ReadPendingException。类似地,如果在上一次写入完成之前调用了写入方法,则会抛出WritePendingException请注意,ByteBuffer对于多个并发线程来说是不安全的。启动读或写操作时,必须注意确保在操作完成之前不会访问缓冲区AsynchronousByt原创 2021-12-14 13:39:04 · 319 阅读 · 0 评论 -
java ByteBuffer虚拟类
文章目录ByteBuffer虚拟类总结ByteBuffer虚拟类静态方法ByteBuffer虚拟类虚拟方法ByteBuffer虚拟类批量处理方法ByteBuffer虚拟类一些其他方法ByteBuffer虚拟类的转换方法ByteBuffer虚拟类总结ByteBuffer虚拟类静态方法方法名作用static ByteBuffer allocateDirect(int capacity)分配新的直接字节缓冲区(堆外内存)static ByteBuffer allocate(int原创 2021-12-13 15:26:13 · 174 阅读 · 0 评论 -
java Buffer虚拟类
文章目录总结Buffer的final方法Buffer的abstract方法(子类需要实现的方法)Buffer的用于边界检查的包私有方法方法总结Buffer是用于存储特定基元类型数据的容器,除内容外,缓冲区Buffer的基本属性是其容量capacity、限制limit和位置position缓冲区的容量capacity是它包含的元素数。这个缓冲区的容量永远不会为负值,也不会发生变化。缓冲区的限制limit应该是第一个不能读或写元素的索引,缓冲区的限制永远不会为负,也永远不会为零或大于其容量。 缓冲区的位原创 2021-12-12 14:12:01 · 239 阅读 · 0 评论 -
java AsynchronousServerSocketChannel虚拟类
总结AsynchronousServerSocketChannel实现了NetworkChannel接口, NetworkChannel接口可以看我这篇文章NetworkChannelAsynchronousServerSocketChannel用于面向流的侦听套接字的异步通道,异步服务器套接字通道是通过调用此类的open方法创建的新创建的异步服务器套接字通道已打开,但尚未绑定。它可以绑定到本地地址,并通过调用bind()方法配置为侦听连接。一旦绑定,accept()方法用于启动对通道套接字连接的原创 2021-12-12 11:30:30 · 234 阅读 · 0 评论 -
java Channel接口
总结通道表示与能够执行一个或多个不同I/O操作(例如读取或写入)的实体(如硬件设备、文件、网络套接字或程序组件)的开放连接通道是开放的或封闭的。通道在创建时是打开的,一旦关闭,它将保持关闭状态。 一旦通道关闭,对其调用I/O操作的任何尝试都将导致抛出ClosedChannelException,可以通过调用其isOpen方法来测试通道是否打开一般情况下通道对于多线程访问是安全的Channel接口方法方法名作用boolean isOpen()判断此频道是否已打开voi原创 2021-12-12 11:07:03 · 376 阅读 · 0 评论 -
java NetworkChannel接口
总结NetworkChannel接口定义了套接字bind方法,用于指定套接字绑定到本地地址NetworkChannel接口继承自Channel接口,自然具有Channel接口的语义NetworkChannel接口方法方法名作用NetworkChannel bind(SocketAddress local)将通道的套接字绑定到本地地址SocketAddress getLocalAddress()返回此通道的套接字绑定到的套接字地址NetworkChannel s原创 2021-12-12 11:01:19 · 400 阅读 · 0 评论 -
java AsynchronousChannelGroup虚拟类
总结AsynchronousChannelGroup虚拟类是一组通道的管理方法,将通道分组,类似将线程分组便于管理AsynchronousChannelGroup虚拟类方法方法名作用final AsynchronousChannelProvider provider()返回创建此通道组的提供程序static AsynchronousChannelGroup withFixedThreadPool(int nThreads,原创 2021-12-12 10:42:05 · 313 阅读 · 0 评论