摘要:
Google Protobuf 编码和解码的基本介绍 GitHub 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器) 的组成部分有两个:encoder(编码器) 和 decoder(解码器)。encoder 负责把业 阅读全文
摘要:
Netty 核心模块组件 Bootstrap、ServerBootstrap Bootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件,Netty 中 Bootstrap 类是客户端程序的启动引导类,ServerB 阅读全文
摘要:
Netty 高性能架构设计 线程模型基本介绍 不同的线程模式,对程序的性能有很大影响,为了搞清Netty 线程模式,我们来系统的讲解下 各个线程模式, 最后看看Netty 线程模型有什么优越性. 目前存在的线程模型有: 传统阻塞 I/O 服务模型 Reactor 模式(反应器模式) 根据 React 阅读全文
摘要:
Netty 概述 原生 NIO 存在的问题 NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer 等。 需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Rea 阅读全文
摘要:
Java NIO 编程 基本介绍 Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的 NIO 相关类都被放在 java.nio 阅读全文
摘要:
Java BIO 编程 I/O 模型 I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能 Java共支持3种网络编程模型 I/O 模式:BIO、NIO、AIO Java BIO 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求 阅读全文
摘要:
Netty 介绍和应用场景 介绍: Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目。 Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。 Netty 主要针对在 TCP 协议下,面向 Clients 阅读全文