Java结构体:JavaStruct(实现类似C的结构体或python的
struct.pa。。。
Javastruct 是什么
简⽽⾔之,Javastruct 是⼀个第三⽅库,⽤于像处理 C 或者 C++ 结构体那样处理 java 对象。也即利⽤ Javastruct 可以在 java 上实现类似于结构体的功能和操作。
Javastruct 的⽤途
在 java 或者 Android 应⽤程序与⼀些嵌⼊式设备通讯或者C、C++ 应⽤程序通讯时,⽐如⽹络、⽆线、蓝⽛、串⼝通讯等场景,由于实际传输时我们希望在通讯时使⽤⾃定义的协议格式,这样就必须进⾏字节流的处理。⽐如:协议格式为:“包头 + 命令码 + 长度 + 数据 + 校验 + 包尾“ 这种格式,使⽤ java 默认的⽅法就需要每条协议设置或解析每个 byte,⼗分繁琐。这时,会很怀念 C 语⾔的结构体和指针,这回极⼤节省我们的代码逻辑和⼯作量。这就是我要使⽤并介绍JavaStruct 的原因了。除此之外,该库还可以⽤作⼀个简单但空间利⽤⾼效的序列化⽅法。
JavaStruct 库⽀持原语、数组、C字符串及嵌套类等。同时⽀持⼤端和⼩端字节序。 Javastruct 也可以使⽤ ArrayLengthMarker 注释来处理其他域中定义长度的域。在后⾯的例程和⽂档中会逐步涉及到。
Javastruct 的性能
对于简单的类,JavaStruct 要⽐ Java 序列化更快速,对于复杂和嵌套的类,通常与 Java 序列化性能相同。通常 JavaStruct 产⽣⼩2到3倍的输出结果。JavaStruct 未来⼯作
1. 更好的命名和统⼀的外观类
2. 详细的⽂档
3. 基于 ByteBuffer 的结构体序列化(⽬前是基于stream流的⽅式)
4. 更好的性能
5. 更多单元测试
6. 数据对齐⽀持
7. 位域
8. Union 联合体
运⾏条件
任何具有 Java 5 或者更⾼的 JVM 的系统
java调用python模型其他类似项⽬
也有很好的结构体实现,Javolution 结构体使⽤特殊类来表⽰域,JavaStruct 有不同途径并且使⽤ POJO 和 Java 5 注释。
关于 JavaStruct 应⽤的⽂章系列,可以移步⾄如下链接:
1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论