jprotobuf

今儿一个早起,整理了一波百度开源的 Java 项目,哎哟有点东西..

断了今生、忘了曾经 提交于 2020-10-09 04:38:37
1. Disconf 2. UidGenerator 3. BRPC-Java 4. Spring Cloud Formula 5. JProtobuf 6. Jprotobuf-rpc-socket 7. BI 平台 BiPlatform 今儿 7 点一大早,早起群的死变态已经纷纷打卡起来学习了。 菜逼互啄群 吓得艿艿这个小帅胖,翻了一圈“年轮”,赶紧起来 = =。 点了一套煎饼果子,看到《百度开源的 71 款项目》文章,于是乎去百度的 https://github.com/baidu 愁一愁有哪些和 Java 相关的,还是有点东东的。。。 1. 分布式配置管理平台 Disconf https://github.com/knightliao/disconf Distributed ConfigurationManagement Platform(分布式配置管理平台)专注于各种 分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务。 目前已经不维护,建议采用 Apollo 或者 Nacos 作为配置中心。 2. 分布式 ID 生成器 UidGenerator https://github.com/baidu/uid-generator UidGenerator 是Java实现的, 基于Snowflake算法的唯一ID生成器。 UidGenerator

JProtobuf的使用

混江龙づ霸主 提交于 2020-04-11 15:51:28
1)什么是序列化和反序列化? (1)数据结构要存储,传送使用,数据结构,数据对象里面的内容-->编码-->二进制 (2)存入文件,网络发送 (3)使用: 根据这个数据重建这个对象,初始化这个对象的每个数据成员-->解码 例子: class{string uname; string upwd;} -->["uname" + [upwd]] 等你重建这个: new一个对象,你再从二进制里面将uname、upwd读出来 目的: 存入文件、网络传送 JSON: 对象的数据编码为JSON字符串(二进制),根据JSON字符串来解出我们的对象; XML: 对象的数据编码成XML, 解码根据XML来将新对象的数据初始化好; PROTOBUF: 二进制编码(不是人类可读的文本),编码解码更高效、安全、体积更小 2)Protobuf是什么? (1)二进制编码 class{string uname; string upwd;} [长度, 0xxx, 0xxx, 0xxx] 文本<uname>blake</uname> 因此自己要定义一个规则,谁是uname,谁是upwd 每个对象都要有一个这样的规则(编码解码的规则, 这个规则叫做协议, json、xml这些是通用的协议): 编码函数: 把uname放在第一位, upwd放在第二位--》【0xxx, 0xxx】 解码函数: 吧第一个作为uname