Java基础之《netty(22)—Protobuf》

news2024/11/16 19:29:12

一、Protobuf基本介绍

1、Protobuf是Google发布的开源项目,全称Google Protobuf Buffers,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或RPC数据交换格式。

2、参考文档
https://developers.google.cn/protocol-buffers/docs/proto

3、Protobuf是以message的方式来管理数据的。

4、支持跨平台、跨语言,即【客户端和服务端可以是不同的语言编写的】(支持目前绝大多数语言,例如C++、C#、Java、Python等)

5、目前很多公司从http + json -> tcp + protobuf

6、高性能,高可靠性

7、使用protobuf编译器能自动生成代码
Protobuf是将类的定义使用.proto文件进行描述。
说明,在idea中编写.proto文件时,会自动提示是否下载.ptotot编写插件,可以让语法高亮。

8、然后通过protoc.exe编译器根据.proto自动生成.java文件。

9、protobuf使用示意图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

粒子系统-主模块参数

目录 Duration Looping Prewarm Start Lifttime Start Speed Start Size 3D Start Rotation Start Rotation Start color Simulation Space Max Particles Duration 粒子系统的工作时长,如果不勾选Looping的话,在5秒后就再也没有粒子发射 L…

HTTPS头部的Referer字段

目录 Referrer-policy 如何设置referer 盗链 防盗链的工作原理 绕过图片防盗链 利用https网站盗链http资源网站,refer不会发送 利用iframe伪造请求referer 利用XMLHttpRequest Referer请求头包含了当前请求页面的来源页面的地址,即表示当前页面是…

【Proteus仿真】【STM32单片机】智能窗帘控制系统设计

文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602显示模块、按键模块、HC05蓝牙、DHT11温湿度、PCF8591 ADC模块、光线传感器、28BYJ48步进电机等。 主要功能: 系统运行后&…

链表算法-回文结构、两个链表公共节点

最近一直在刷算法,以前没有重视这块,偶然巧合下,想到了某几次的面试,虽然没有以这个为主,但是也都有问过算法的题,因为没有这方面的积累,所以心底里一直抗拒,最近也有时间&#xff0…

git第n次学习笔记

git工作流程git四个工作区域Workspace:工作区,就是你平时存放项目代码的地方Index/Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息Repository:仓库区&…

CDGA|想做好数据安全,数据治理是核心

在数字化转型渐进成熟下,企业加强数据治理,保障数据安全,为数字经济持续发展筑牢安全屏障,是时代发展的客观需要。 首先,整个安全能力是在应用内部的,我们对数据流的精确感知和管控,能做到和应用…

【七】Netty JBoss Marshallin 编解码

Netty JBoss Marshallin 编解码介绍Marshallin 开发环境maven 依赖业务场景模拟流程图代码展示订购采购消息 POJO 类订购应答消息 POJO 类SubscribeReqServer 服务端启动类MarshallingCodeCFactory服务端业务处理类 SubscribeServerHandler客户端启动类 SubscribeClient客户端 …

leetcode.2471 逐层排序二叉树所需的最少操作数目 - bfs + 置换环算法 + 并查集

2471. 逐层排序二叉树所需的最少操作数目 目录 1、循环标记置换环 2、并查集置换环 思路: 总操作数目 每一层最小操作数之和 每一层元素个数 - 置换环数 先用bfs对树进行层序遍历,一层一层地计算 置换环:对每个节点,将其指向…

全国首例:新一代仿生型人工心脏在福建成功植入

此时此刻,福建福清吴先生的体内正搏动着一颗新款的“人工心脏”。心脏是生命的中枢,一旦衰竭生命也将终止,人工心脏为这些心衰患者带来了新的希望。福建医科大学附属协和医院心外科团队,将科幻电影里装着人工心脏的“钢铁侠”变成…

六派巨量转移技术概述

1. 巨量转移技术概述 与OLED显示技术不同,无机LED无法在玻璃或其他大尺寸衬底进行大面积的制作,因此需要在半导体衬底上进行制作,然后再转移到驱动背板上。当前LED所采用的衬底一般为蓝宝石,但蓝宝石与外延层之间的晶格和热膨胀系…

国产技术迎来突破,光量子芯片横空出世,中文编程也有好消息

国外光刻机不再牛,随着这项技术问世,我们摆脱芯片卡脖子困境成为可能! 欧美技术如此领先,我们凭什么实现弯道超车?就凭国内领先全球的量子技术,还有惊艳问世的光量子芯片,让欧美震惊不已&#x…

Fossid简介及API接口调用开发

FOSSID简介 FOSSID 是由瑞典FOSSID 公司开发的一款开源代码检测和管理工具,能够全面、准确、高效的发现用户代码库中的开源代码及其风险。 FOSSID 是一个软件解决方案,能够单独部署使用,也可以与现有的开发流程进行无缝集成,能够…

Apache Shiro教程(4)

shiro授权 授权 授权,即访问控制,控制谁能访问哪些资源,主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的。 关键对象 授权可简单理解为 who 对 what 进行how操作 授权流程 授权方式 基于角…

如何优化Blender内存不足问题

众所周知, Blender是一款免费软件,在动画、3D 电影等所有领域都易于使用。您是否曾经在 Blender 场景中工作,突然无缘无故崩溃?或者简单地说,您在渲染过程中突然移动缓慢甚至导致卡顿。当你有最后期限时,这…

13_4、Java的IO流之缓冲流的使用

一、引入为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类 时,会创建一个内部缓冲区数组,缺省使用8192个字节(8Kb)的缓冲区。 二、缓冲流涉及到的类字节输入流:BufferedInputStream 字节输出流B…

pytorch入门理解

一、入门操作 1、创一个tensor矩阵 x torch.rand(5, 3) x out: tensor([[0.5051, 0.7017, 0.0170],[0.1441, 0.2476, 0.5710],[0.0452, 0.8690, 0.2387],[0.5709, 0.0098, 0.6993],[0.3203, 0.5124, 0.1010]])创建好后可以直接打印,要比tensorflow好用…

【SQL时间截取】数据库Sql实现截取时间段和日期

【写在前面】前些日子接到这样的需求,我们要对用户访问网站的时间做个统计,但是我想统计到具体的时间点,便于统计不同时间段(上午、下午、傍晚、凌晨)访问的人数占比。 数据库Sql实现截取时间段和日期1、原始数据查看2…

【云原生】k8s之Ingress

内容预知 1.Ingress的相关知识 1.1 Ingress的简介 1.2 Ingress 的组成 1.3 Ingress-Nginx的工作原理 1.4 新生代Ingress-controller (Traefik) Ingress-nginx和Ingress-Traefik的简单对比 1.5 Ingress的暴露方式 方式一:DeploymentLoad…

ocr票据证件信息抽取正则化

Python 正则表达式 | 菜鸟教程Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块使 Python 语言拥有全部的正则表达式…

华为数字化转型之道 实践篇 第九章 数字化运营:实现业务运营模式升级

第九章 数字化运营:实现业务运营模式升级 业务运营是为了帮助企业基于自身业务战略,更好地达成企业经营与运营目标,这中间包含业务沿着流程周而复始地运转,以及在作业过程中识别并推动问题解决等过程。 而数字化运营旨在利用数字技术获取、管理和分析数据,为企业的战略决…