-
Notifications
You must be signed in to change notification settings - Fork 1
zh_quickstart
Ray edited this page Oct 14, 2019
·
2 revisions
- 添加依赖
<dependency>
<groupId>com.weibo</groupId>
<artifactId>breeze-core</artifactId>
<version>RELEASE</version>
</dependency>- 基础类型编解码
//编码
BreezeBuffer buffer = new BreezeBuffer(256);// 设置合适的buffer大小
String str = "just test";
BreezeWriter.writeString(buffer, str);
buffer.flip();
byte[] result = buffer.getBytes();
//解码
BreezeBuffer newBuffer = new BreezeBuffer(result);
String newStr = BreezeReader.readString(newBuffer);
System.out.println(newStr);- 集合类型编解码
//编码
BreezeBuffer buffer = new BreezeBuffer(256);// 设置合适的buffer大小
List<String> list = new ArrayList<>();
list.add("s1");
list.add("s2");
BreezeWriter.writeCollection(buffer, list);
buffer.flip();
byte[] result = buffer.getBytes();
//解码
BreezeBuffer newBuffer = new BreezeBuffer(result);
List<String> newList = new ArrayList<>();
BreezeReader.readCollection(newBuffer, newList, String.class);
System.out.println(newList.get(0));- 类型嵌套编解码
//编码
BreezeBuffer buffer = new BreezeBuffer(256);// 设置合适的buffer大小
List<String> list = new ArrayList<>();
list.add("s1");
list.add("s2");
Map<Integer, List<String>> map = new HashMap<>();
map.put(12, list);
BreezeWriter.writeMap(buffer, map);
buffer.flip();
byte[] result = buffer.getBytes();
//解码
BreezeBuffer newBuffer = new BreezeBuffer(result);
Map<Integer, List<String>> newMap = new HashMap<>();
BreezeReader.readMap(newBuffer, newMap, String.class, List.class);// 泛型类型建议使用ParameterizedType作为参数。
System.out.println(newMap.get(12).get(0));- Breeze Message编解码
序列化的类必须有无参的构造函数,否则需要实现自定义Serializer来进行编解码。
//编码
BreezeBuffer buffer = new BreezeBuffer(256);// 设置合适的buffer大小
TestMsg msg = BreezeRWTest.getDefaultTestMsg(); // BreezeRWTest at https://github.com/weibreeze/breeze/blob/master/breeze-core/src/test/java/com/weibo/breeze/BreezeRWTest.java
BreezeWriter.writeObject(buffer, msg);
buffer.flip();
byte[] result = buffer.getBytes();
//解码
BreezeBuffer newBuffer = new BreezeBuffer(result);
TestMsg newMsg = BreezeReader.readObject(newBuffer, TestMsg.class);
System.out.println(newMsg.getMyString());- Object编解码
//编码
BreezeBuffer buffer = new BreezeBuffer(256);// 设置合适的buffer大小
TestObj obj = BreezeRWTest.getDefaultTestObj();
BreezeWriter.writeObject(buffer, obj);
buffer.flip();
byte[] result = buffer.getBytes();
//解码
BreezeBuffer newBuffer = new BreezeBuffer(result);
TestObj newObj = BreezeReader.readObject(newBuffer, TestObj.class);
System.out.println(newObj.getString());更多用例可以参考单元测试