IO/NIO等
ycCoding
坚持吾心 方见光明
展开
-
Netty(4)编解码器和粘包、拆包
一 自定义编解码器1.1 出入站处理ChannelHandler充当了处理入站和出站数据的应用程序逻辑的容器。例如,实现ChannelInboundHandler接口(或ChannelInboundHandlerAdapter),你就可以接收入站事件和数据,这些数据会被业务逻辑处理。当要给客户端发送响应时,也可以从ChannelInboundHandler冲刷数据。业务逻辑通常写在一个或者...原创 2020-04-07 21:02:06 · 501 阅读 · 0 评论 -
Netty(2)核心组件介绍、实现Http服务器
一 Netty实现HTTP服务1.1 需求Netty 服务器在 6668 端口监听,浏览器发出请求 "http://localhost:6668/ "服务器可以回复消息给客户端 "Hello! 我是服务器 5 " , 并对特定请求资源进行过滤.目的:Netty 可以做Http服务开发,并且理解Handler实例和客户端及其请求的关系.1.2 编写Channel的初始化类之前的Ch...原创 2020-03-28 09:59:03 · 455 阅读 · 0 评论 -
Netty(3)心跳检测、WebSocket、Protobuf
一 心跳检测当连接数很大时,我们想要释放部分空闲连接;或者连接已经断了但服务端没检测到。我们都可以使用Netty自动的心跳检测类IdleStateHandler来实现1.1 类介绍IdleStateHandler 是netty 提供的处理空闲状态的处理器.我们一般直接在ChannelInitializer中配置即可。该类会当channel一段时间没有执行读或写或读写时,触发一个IdleSta...原创 2020-04-02 18:33:11 · 2258 阅读 · 0 评论 -
Netty(1)基本用法与介绍
目录一 介绍1.1 定义1.2 应用场景1.3 数据模型1.4 znode分类二 使用2.1 cli命令三 总体架构3.1 session3.2 Quorum模式3.3 数据一致性四 API4.1 方法说明4.2 代码异常处理4.3 watch一 介绍1.1 定义分布式协同服务系统,对协同服务进行抽象,得到一个高效可靠的原语集。1.2 应用场景配置服务DNS服务组成员管理分布式锁...原创 2020-03-26 22:55:06 · 343 阅读 · 1 评论 -
零拷贝剖析
目录1.1具体步骤说明二 操作系统意义上的零拷贝三 进一步改善四 缓存IO、直接IO与内存映射五 实战5.3 结论六 linux上真正的零拷贝#一 一次普通网络请求资源的过程1.1具体步骤说明1.用户空间对内核空间发出一次read()的系统调用2.操作系统接收到系统调用后,上下文切换。切换到了内核空间3.内核空间向磁盘请求数据, 通过DMA将数据发送到了内核空间缓存区4.将内核空间缓...原创 2019-10-26 16:53:25 · 175 阅读 · 0 评论 -
netty(1)hello world
目录服务端1 Server解析2 childHandler参数解析3 自定义Handler二 客户端1 启动类2 ChannelInitializer3 自定义处理器服务端1 Server解析public class TestServer { public static void main(String[] args) throws InterruptedException { ...原创 2019-10-26 16:52:59 · 107 阅读 · 1 评论 -
nio(4)字符集编解码
目录一 map映射结合Charset二 各种编码介绍ASCIIISO-8859-1gb2321unicodeutf8推荐参考一 map映射结合Charsetpublic static void main(String[] args) throws Exception { String inputFile = "input_1.txt"; String outpu...原创 2019-10-26 11:42:18 · 203 阅读 · 0 评论 -
nio(3)demo实现服务端和客户端
目录一 服务端注意点二 客户端注意点参考一 服务端package com.zyc.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.Selec...原创 2019-10-26 11:39:41 · 113 阅读 · 0 评论 -
nio(2)更多功能
目录一 Scatter/Gatterscattergatter二 transferFrom & transferTotransferFromtransferTo三 Pipe四 内存映射文件内存映射IOJava的内存映射IO的要点使用五 直接缓冲六 总结参考资料一 Scatter/GatterJava NIO开始支持scatter/gather,scatter/gather用于描述从C...原创 2019-10-26 11:35:06 · 204 阅读 · 0 评论 -
nio(1)基本介绍
目录一 NIO介绍二 Channel三 Buffer四 SelectorSelectionKeyselect()参考一 NIO介绍nio和io的区别:1.NIO是面向块的,IO是面向流的。面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方。而面向块则会先把数据读到一个换乘区,这样NIO就可以前后移动读取数据,更加灵活和方便。2.IO是阻塞的,NIO可以是不阻...原创 2019-10-26 11:20:43 · 182 阅读 · 0 评论 -
java IO资料
目录一 IO中各个流的基本用法二 IO体系三 缓冲流特点一 IO中各个流的基本用法参考: java中的IO整理二 IO体系参考:看完这个,Java IO从此不在难三 缓冲流参考:java IO——缓冲流详解特点缓冲流是对文件流处理的一种流,它本身并不具备 IO 功能,只是在别的流上加上缓冲提高了效率,当对文件或其他目标频繁读写或操作效率低,效能差。这时使用缓冲流能够更高效的读写信息...原创 2019-10-26 11:15:36 · 123 阅读 · 0 评论