
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 · 540 阅读 · 0 评论 -
NIO(五)--AIO原理
一、概念原创 2018-09-22 16:00:13 · 248 阅读 · 0 评论 -
NIO(四)--DatagramChannel&Pipe管道
一、DatagramChannelimport 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 · 219 阅读 · 0 评论 -
Socket(二)--同步/异步&阻塞/非阻塞
阻塞:客户端去server端请求10个字节数据。TCP传输分两步,一个是head,一个是body。server端给客户端发送head的目的是告诉客户端,这次tcp会传10个字节。然后,body开始传给客户端。如果网络很慢,传到第6个字节了,那么,客户端知道还没有收完,就会在第6个字节这里一直阻塞,直到10个字节全部收到,客户端程序才会继续往下走。所以,网络通信使用阻塞的IO...原创 2018-09-22 08:33:50 · 168 阅读 · 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 · 279 阅读 · 0 评论 -
NIO(四)--介绍
NIO的本质就是避免原始的tcp建立连接使用3次握手的操作,减少连接的开销。传统的IO流(inputstream,outputstream)都是单向的管道,要么去读,要么去写。有一个server端,有n个client端。古老的socket编程,是每个客户端直接向server端发起一个套接字,建立一个tcp连接。NIO是在传统的tcp之上进行一个抽象。不是client...原创 2018-09-21 16:26:18 · 338 阅读 · 0 评论 -
NIO(九)--Netty最佳实践--实际场景一--数据通信
原创 2018-10-03 14:26:18 · 622 阅读 · 0 评论 -
NIO(八)--Netty编解码技术
Netty编解码技术之Marshalling原创 2018-10-02 20:50:11 · 133 阅读 · 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 · 241 阅读 · 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 · 163 阅读 · 0 评论 -
NIO(三)--阻塞与非阻塞
一、基本概念阻塞:非阻塞:客户端和服务端建立的通道,都会注册到选择器。选择器会实时监控各个通道的状态。如果当某一个通道的某一个请求,完全准备就绪时,选择器才会将这个任务分配到服务端的一个或多个线程上去执行。二、阻塞式FileChannel不能切换成非阻塞式的。只有网络Channel才能切换成非阻塞式的。选择器用于监控网络Channel。import java.io...原创 2018-07-24 08:00:21 · 281 阅读 · 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 · 195 阅读 · 0 评论