技术标签: 微服务 Spring Cloud
一 代码位置
https://github.com/cakin24/spring-cloud-code/tree/master/ch19-1
二 编译protobuf
三 编译后通过下面代码测试
package cn.springcloud;
import cn.springcloud.proto.PersonModel;
import com.google.protobuf.InvalidProtocolBufferException;
public class PersonUseCase {
public static void main(String[] args) {
PersonModel.Person forezp= PersonModel.Person.newBuilder()
.setId(1)
.setName("forezp")
.setEmail("[email protected]").build();
for(byte b : forezp.toByteArray()){
System.out.print(b);
}
System.out.println("\n" + "bytes长度" + forezp.toByteString().size());
System.out.println("===== forezp Byte 结束 =====");
System.out.println("===== forezp 反序列化生成对象开始 =====");
PersonModel.Person forezpCopy = null;
try {
forezpCopy = PersonModel.Person.parseFrom(forezp.toByteArray());
} catch (InvalidProtocolBufferException e) {
e.printStackTrace();
}
System.out.print(forezpCopy.toString());
System.out.println("===== forezp 反序列化生成对象结束 =====");
}
}
四 测试结果
8118610211111410112211226151091051081011154850644954514699111109
bytes长度27
===== forezp Byte 结束 =====
===== forezp 反序列化生成对象开始 =====
id: 1
name: "forezp"
email: "[email protected]"
===== forezp 反序列化生成对象结束 =====
演示了使用Proto Buffer来序列化和反序列化一个Java对象的过程,这跟使用JSON进行序列化和反序列化类似。采用Proto Buffer序列化的数据可读性很差,但是数据体积很小,所以能够大大提高传输效率。
文章目录beautifulsoupBeautifulSoup4的安装BeautifulSoup4简介BeautifulSoup4主要解析器,以及优缺点BeautifulSoup4的使用bs 的初始化操作Beautiful Soup常用的方法和属性1.find_all() 方法:2.find() 方法:3.get_text()方法:4.获取节点属性的方法:5.select()方法:6.string属...
上面是修改pycharm界面颜色操作路径:file/settings/appearance&behavior/appearance(可以选择白色背景或黑色背景) 下面是修改pycharm字体大小操作路径:file/settings/editor/font ...
情景: 方法A接收一个包含多个id的字符串, 多个id用空格隔开, 在不需要遍历的情况下, 查询出字段中所有的满足条件的记录.如: $idList = '123 454 121 656 5584'function query ( $idList ) {//先对字符串进行拆分, 并去除多余的空项$idArray = array_filter(explode(' ', $id
关于git的理解1:git同VCS和SVN不同,它是分布式版本控制工具,就是各个仓库都可以 作为中央仓库,而集中式版本控制工具只有一个集中的中央仓库,每个开发者拥有不同的读写权限,并且在更新和提交的时候都必须联网(从中央仓库直接联网更新下来,或者将本地改动直接提交到中央仓库,不能本地提交,因为本地不具有中央仓库的功能,git就可以);而git就不同,你所有的改动都可以先提交到本地仓库,到网络允...
基于神经网络的分类Every day we hear different sounds and it is part of our life. Humans can differentiate between sounds easily but how cool it will be if computer can also classify the sounds into categories....
TIMIT语音库是IT和MIT合作音素级别标注的语音库,用于自动语音识别系统的发展和评估,包括来自美式英语,8个地区方言,630个人。每个人读10个句子,每个发音都是音素级别、词级别文本标注,16kHz,16bit。注意:不用使用TIMIT配置作为运行Kaldi的一个通用型例子,因为它不是一个非常标准的结构。其它的一些配置也是非常好用的。 -------------------------...
查找torch与torchvision对应版本github链接:https://github.com/pytorch/vision#installation在线下载或者离线下载1、在线下载在pytorch官网选择相应的历史版本,使用conda或者pip安装,使用官网的镜像下载很慢,建议使用其他的镜像源,这里我使用的是阿里的镜像速度还不错。pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 -i https://mirror
WebSocket 是什么原理,为什么可以实现持久连接?一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容
在学完各种dll的调用方式和QAbstractItemModel之后,终于到了这一步,之前用过CustomPlot来实现简单图的绘制,但是这次我需要从头开始,理解内涵文章目录1 Main Page1.1 QCustomPlot 2.0.1 Documentation1.2 Plottables 绘图板1.3 Controlling the Axes 坐标轴的操控1.4 Plot Legend 绘...
判断终止条件。 leng === 1 return this.value = value取中间mid先定义一个root = arr[mid];root.left 递归左半部分root.right 递归右半部分返回rootfunction sortedArrayToBST (arr) { if (!arr.length) { return null; } if (arr.length === 1) { return arr[0]; } let mid = parseIn.
A.收到PDU SMS-DELIVER (Mobile Terminated) 收到DELIVER-PDU格式SCAPDU TYPEOA PID DCS SCTS UDL UD 服务中心号码