欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

MessagePack:一种高效二进制序列化格式

发布时间:2025/3/21 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 MessagePack:一种高效二进制序列化格式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

MessagePack是一种高效二进制序列化格式。可以在多种语言中进行快速数据交换,比如JSON格式等。这种格式小巧快速,多个小整数会压缩成一个字节,通常短字符串压缩后只比原来长度增加1个字节。MessagePack支持超过50种编程语言和环境(完整列表)。

  • Message Pack 规范

MessagePack v7比之前的v06更加快速,支持所有的消息封装格式,包括扩展格式。

快速上手

Maven用户:

XHTML
12345<dependency>   <groupId>org.msgpack</groupId>   <artifactId>msgpack-core</artifactId>   <version>0.8.2</version></dependency>

sbt用户:

1libraryDependencies += "org.msgpack" % "msgpack-core" % "0.8.2"

gradle用户:

1234567repositories {    mavenCentral()}dependencies {    compile 'org.msgpack:msgpack-core:0.8.2'}

  • 使用示例

通过jackson-databind,msgpack-java支持Java对象的序列化与反序列化。详细信息可以参见msgpack-jackson/README.md。v06中基于模板的序列化机制已经不推荐使用。

  • 发布说明

MessagePack开发

msgpack-java使用sbt构建项目。sbt的基本用法可以参见:

  • 使用sbt构建Java项目

编码风格

  • msgpack-java使用与Facebook Presto相同的编码风格。
  • IntelliJ配置文件

基本sbt命令

进入sbt命令行:

Shell
1$ ./sbt

下面列出了日常开发可能用到的sbt命令列表:

Shell
12345678910> ~compile                                 # 编译源代码> ~test:compile                            # 编译源代码和测试代码> ~test                                    # 针对代码变更运行测试> ~test-only *MessagePackTest              # 为指定类运行测试> ~test-only *MessagePackTest -- -n prim   # 运行带有"prim"标记的测试> project msgpack-core                     # 指定项目> package                                  # 为指定目录下的每个项目创建jar文件> findbugs                                 # 在target/findbugs下生成findbug报告> jacoco:cover                             # 为target/jacoco目录生成代码覆盖率报告> jcheckStyle                              # 执行check style

发布

Shell
1234> publishLocal            # 在本地.ivy2仓库安装> publishM2               # 在本地.m2 Maven仓库安装> publishSigned           # 将GPG签名组件发布到Sonatype仓库> sonatypeRelease         # 发布到Maven中央仓库(一般4小时内可以实现同步)

msgpack-java使用sbt-sonatype插件发布到Maven中央仓库。在全局sbt设置中设置Sonatype账户信息(用户名、密码)。注意,不要在项目中包含密码信息文件。

$HOME/.sbt/(sbt-version)/sonatype.sbt

1234credentials += Credentials("Sonatype Nexus Repository Manager",        "oss.sonatype.org",        "(Sonatype user name)",        "(Sonatype password)")

项目结构

12msgpack-core                 # 包含packer/unpacker实现,不适用任何第三方库msgpack-jackson              # 包含jackson-dataformat-java实现

官方网站:http://msgpack.org/

开源地址:https://github.com/msgpack/msgpack-java

from: http://hao.jobbole.com/messagepack/

总结

以上是生活随笔为你收集整理的MessagePack:一种高效二进制序列化格式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。