5IYXX


  • Home

  • About

  • Search

分隔符和定长解码器的应用

Posted on 2016-01-01 | In Netty:The Definitive Guide 2th | Visitors:

通过使用DelimiterBasedFrameDecoder、FixedLengthFrameDecoder实现分隔符和定长解码器。

Read more »

TCP粘包/拆包问题的解决之道

Posted on 2015-12-01 | In Netty:The Definitive Guide 2th | Visitors:

熟悉TCP编程的读者可能都知道,无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘包/拆包机制。

Read more »

JBossMarshalling编解码

Posted on 2015-07-01 | In Netty:The Definitive Guide 2th | Visitors:

JBoss Marshalling是一个Java对象序列化包,对JDK默认的序列化框架进行了优化,但又保存跟java.io.Serializable接口兼容,同时增加了一些可调的参数和附加特性,这些参数和特性可通过工厂类进行配置。

Read more »

GoogleProtobuf编解码

Posted on 2015-06-01 | In Netty:The Definitive Guide 2th | Visitors:

Google的Protobuf在业界非常流行,很多商业项目选择Protobuf作为编解码框架,其优点如下。

  • 在谷歌内部长期使用,产品成熟度高:
  • 跨语言,支持多种语言,包括C十十、java和Python.
  • 编码后的消息更小,更加有利于存储和传输:
  • 编解码的性能非常高:
  • 支持不同协议版本的前向兼容:
  • 支辫定义可选和必选字段。
Read more »

MessagePack编解码

Posted on 2015-04-01 | In Netty:The Definitive Guide 2th | Visitors:

MessagePack是一个高效的二进制序列化框架,它像JSON一样支持不同语言间的数据交互,但是它的性能更快,序列化之后的码流也更小。
由于MessagePack在业界得到了非常广泛的应用,将介绍如何利用Netty的CodeC框架新增对MessagePack的支持。

Read more »

Java编解码中使用序列化的缺点

Posted on 2015-03-01 | In Netty:The Definitive Guide 2th | Visitors:

Java 序列化的主要目的有两个,网络传输和对象持久化。
Java序列化从JDK1.1版本就已经提供,它不需要添加额外的类库,只需实现java.io.Serializable并生产系列ID即可,因此,它从诞生之初就得到广泛的应用。
但是在远程服务调用(RPC)时,很少直接使用Java序列化进行消息的编解码和传输,这又是什么原因呢?下面通过分析Java序列化的缺点找出答案。

Read more »

AIO编程示例

Posted on 2014-12-11 | In Netty:The Definitive Guide 2th | Visitors:

NIO 2.0的异步套接字通道是真正的异步非阻塞I/O,对应于UNIX网络编程中的事件驱动I/O(AIO)。它不需要通过多路复用器(Seletor)对注册的通道进行轮询操作即可实现异步读写,从而简化了NIO的编程模型。

Read more »

Java获得可用的处理器个数

Posted on 2014-12-02 | In Netty:The Definitive Guide 2th | Visitors:

要获取java虚拟机可用的处理器个数,可以通过Runtime类的availableProcessors()方法得到,即Runtime.getRuntime().availableProcessors()。

Read more »

Netty应用入门

Posted on 2014-12-01 | In Netty:The Definitive Guide 2th | Visitors:

一个简单的NIO服务端程序,如果我们直接使用JDK的NIO类库进行开发,竟然需要经过烦琐的十多步操作才能完成最基本的信息读取和发送,这也是我们要选择Netty等NIO框架的原因了。

Read more »

Selector全面深入理解

Posted on 2014-11-11 | In Netty:The Definitive Guide 2th | Visitors:

最近在学习java NIO,发现java nio selector 相对 channel ,buffer 这两个概念是比较难理解的 ,把学习理解的东西以文字的东西记录下来,就像从内存落地到硬盘,把内存中内容换成该知识点的索引。

Read more »
1…567
Eric Chen

Eric Chen

64 posts
16 categories
19 tags
RSS
GitHub
© 2017 Eric Chen
Powered by Hexo
|
Theme — NexT.Gemini v5.1.2