NIO
csdn_kenneth
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NIO(一)--简介&API介绍
传统IO模型 NIO模型 通道类比铁路,它建立了两点之间的一个连接。缓冲区类比火车。流是单向的。缓冲区是双向的。 package com.atguigu.nio; import java.nio.ByteBuffer; import org.junit.Test; /* * 一、缓冲区(Buffer):在 Java NIO 中负责数...原创 2018-07-18 07:42:43 · 592 阅读 · 0 评论 -
NIO(五)--AIO原理
一、概念原创 2018-09-22 16:00:13 · 284 阅读 · 0 评论 -
NIO(四)--DatagramChannel&Pipe管道
一、DatagramChannel import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.DatagramChannel; import java.nio.channels.SelectionKey; import j...原创 2018-09-22 15:28:48 · 259 阅读 · 0 评论 -
Socket(二)--同步/异步&阻塞/非阻塞
阻塞: 客户端去server端请求10个字节数据。TCP传输分两步,一个是head,一个是body。server端给客户端发送head的目的是告诉客户端,这次tcp会传10个字节。然后,body开始传给客户端。如果网络很慢,传到第6个字节了,那么,客户端知道还没有收完,就会在第6个字节这里一直阻塞,直到10个字节全部收到,客户端程序才会继续往下走。 所以,网络通信使用阻塞的IO...原创 2018-09-22 08:33:50 · 204 阅读 · 0 评论 -
Socket(一)--socket基础&socket伪异步IO
一、socket基础 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { final static int PROT = 8765; public static void main(String[] args) { ...原创 2018-09-22 08:17:09 · 320 阅读 · 0 评论 -
NIO(四)--介绍
NIO的本质就是避免原始的tcp建立连接使用3次握手的操作,减少连接的开销。 传统的IO流(inputstream,outputstream)都是单向的管道,要么去读,要么去写。 有一个server端,有n个client端。古老的socket编程,是每个客户端直接向server端发起一个套接字,建立一个tcp连接。 NIO是在传统的tcp之上进行一个抽象。不是client...原创 2018-09-21 16:26:18 · 371 阅读 · 0 评论 -
NIO(九)--Netty最佳实践--实际场景一--数据通信
原创 2018-10-03 14:26:18 · 657 阅读 · 0 评论 -
NIO(八)--Netty编解码技术
Netty编解码技术之Marshalling原创 2018-10-02 20:50:11 · 164 阅读 · 0 评论 -
NIO(七)--Netty tcp粘包、拆包
方式一:分隔符 import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandlerAdapter; import io.netty.channel.ChannelHandlerContext; public class ServerHanlder extends ChannelHandlerAdap...原创 2018-10-02 19:49:42 · 287 阅读 · 0 评论 -
NIO(二)--通道
package com.atguigu.nio; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.ByteBuffer; impor...原创 2018-07-22 22:43:31 · 202 阅读 · 0 评论 -
NIO(三)--阻塞与非阻塞
一、基本概念 阻塞: 非阻塞: 客户端和服务端建立的通道,都会注册到选择器。选择器会实时监控各个通道的状态。如果当某一个通道的某一个请求,完全准备就绪时,选择器才会将这个任务分配到服务端的一个或多个线程上去执行。 二、阻塞式 FileChannel不能切换成非阻塞式的。只有网络Channel才能切换成非阻塞式的。选择器用于监控网络Channel。 import java.io...原创 2018-07-24 08:00:21 · 320 阅读 · 0 评论 -
NIO(六)--Netty-hello world
一、概念 Netty学习路线总结 netty是nio框架。 任何nio框架做通信,一定是server先启动,然后,client端调用connect方法。 import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.Ch...原创 2018-09-22 17:22:09 · 232 阅读 · 0 评论
分享