A9-NIO编程与Netty框架
詠聖wK
如果你足够努力,任何事情都是可能的
展开
-
NIO编程(mark与reset用法)
mark与reset用法 标记是一个索引,通过Buffer中的mark()方法指定Buffer中一个特定的position,之后可以通过调用reset()方法恢复到这个position。代码用例public class BufferTest { public static void main(String[] args) { ByteBuffer...原创 2018-02-20 15:15:35 · 1092 阅读 · 0 评论 -
NIO编程(Buffer的概述)
NIO编程NIO概述什么是NIO?Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区) 标准的IO基于字节流和字符流进行操作的, 而NIO是基于通道(Channel...原创 2018-02-15 11:52:37 · 330 阅读 · 0 评论 -
NIO编程(直接缓冲区与非直接缓冲区别)
直接缓冲区与非直接缓冲区别分散读取与聚集写入非直接缓冲区 通过 allocate() 方法分配缓冲区,将缓冲区建立在 JVM 的内存中!案例展示 这里提供一个名为Python1,大小为397.1MB的zip文件; 现分别用直接缓冲区和非直接缓冲区对上面文件进行文件复制,看哪个缓冲区耗时最短,效率更高? 代码示例public c...原创 2018-02-20 15:09:09 · 544 阅读 · 0 评论 -
NIO编程(字符集Charset)
字符集Charset编码:字符串->字节数组 解码:字节数组 -> 字符串代码示例public class CharsetDemo { public static void main(String[] args) throws CharacterCodingException { Charset gbk = Charset.forName...原创 2018-02-20 18:10:19 · 250 阅读 · 0 评论 -
NIO编程(同步阻塞与同步非阻塞详解)
NIO同步阻塞与同步非阻塞BIO与NIOIO为同步阻塞形式,NIO为同步非阻塞形式,NIO并没有实现异步,在JDK1.7后升级NIO库包,支持异步非阻塞 同学模型NIO2.0(AIO)BIO(同步阻塞式IO) 同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当...原创 2018-02-22 15:56:50 · 12018 阅读 · 0 评论 -
Netty快速入门
Netty快速入门异步非阻塞IO什么是Netty Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。Netty应用场景1.分布式开源框架中dubbo、Zookeeper,RocketMQ,底层rpc通讯使用就是netty。 2.游戏开发中,底层使用netty通讯。为什么选择net...原创 2018-02-22 18:32:17 · 585 阅读 · 0 评论 -
Netty高级(Netty5.0的用法,TCP粘包、拆包问题解决方案)
Netty5.0的用法《Netty官方文档》5.0中的变化和注意点这篇文档将引领你了解netty在4.1 release版本之后所做的一系列显著升级和新特性,以便让你能把应用升级到新版本。不像netty在3.X和4.0之间的升级变化,5.0版本虽然在设计上做出了重大突破和简化,但(在调用层面)并没有改变很多。我们尽可能让4.X版本可以平滑地升级到5.0版本,但是如果你在升级过程...原创 2018-02-24 17:06:33 · 2015 阅读 · 0 评论 -
序列化协议与自定义序列化协议
序列化协议与自定义序列化协议序列化定义 序列化(serialization)就是将对象序列化为二进制形式(字节数组),一般也将序列化称为编码(Encode),主要用于网络传输、数据持久化等; 反序列化(deserialization)则是将从网络、磁盘等读取的字节数组还原成原始对象,以便后续业务的进行,一般也将反序列化称为解码(Decode),主要用于网络传输对象的解码,以便...原创 2018-02-24 17:48:56 · 1328 阅读 · 0 评论