| 1) 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 |
| 2) codec(编解码器) 的组成部分有两个:decoder(解码器)和 encoder(编码器)。encoder 负责把业务数据转换成字节码数据,decoder 负责把字节码数据转换成业务数据 |

| 1) Netty 自身提供了一些 codec(编解码器) |
| 2) Netty 提供的编码器 |
| • StringEncoder,对字符串数据进行编码 |
| • ObjectEncoder,对 Java 对象进行编码 |
| • ... |
| 3) Netty 提供的解码器 |
| • StringDecoder, 对字符串数据进行解码 |
| • ObjectDecoder,对 Java 对象进行解码 |
| • ... |
| 4) Netty 本身自带的 ObjectDecoder 和 ObjectEncoder 可以用来实现 POJO 对象或各种业务对象的编码和解码, |
| 底层使用的仍是 Java 序列化技术 , 而Java 序列化技术本身效率就不高,存在如下问题 |
| • 无法跨语言 |
| • 序列化后的体积太大,是二进制编码的 5 倍多 |
| • 序列化性能太低 |
| 1) Protobuf 是 Google 发布的开源项目,全称 Google Protocol Buffers,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化, |
| 或者说序列化。它很适合做数据存储或 RPC[远程过程调用 remote procedure call ] 数据交换格式 。 |
| 目前很多公司 http+json -> tcp+protobuf |
| 2) 参考文档 : https: |
| 3) Protobuf 是以 message 的方式来管理数据的. |
| 4) 支持跨平台、跨语言,即[客户端和服务器端可以是不同的语言编写的] (支持目前绝大多数语言,例如 C++、C#、Java、python 等 |
| 5) 高性能,高可靠性 |
| 6) 使用 protobuf 编译器能自动生成代码,Protobuf 是将类的定义使用.proto 文件进行描述。说明,在idea 中编写 .proto 文件时, |
| 会自动提示是否下载 .ptotot 编写插件. 可以让语法高亮。 |
| 7) 然后通过 protoc.exe 编译器根据.proto 自动生成.java 文件 |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
2021-08-09 错误处理
2021-08-09 spring boot文件上传