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用户:
| 1 | libraryDependencies += "org.msgpack" % "msgpack-core" % "0.8.2" |
gradle用户:
| 1234567 | repositories { 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
| 1234 | credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", "(Sonatype user name)", "(Sonatype password)") |
项目结构
| 12 | msgpack-core # 包含packer/unpacker实现,不适用任何第三方库msgpack-jackson # 包含jackson-dataformat-java实现 |
官方网站:http://msgpack.org/
开源地址:https://github.com/msgpack/msgpack-java
from: http://hao.jobbole.com/messagepack/
总结
以上是生活随笔为你收集整理的MessagePack:一种高效二进制序列化格式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java内部类(Inner Class)
- 下一篇: VisualVM——JDK自带的性能分析