Skip to content

zh_quickstart

Ray edited this page Oct 14, 2019 · 2 revisions

快速入门

  1. 添加依赖
        <dependency>
            <groupId>com.weibo</groupId>
            <artifactId>breeze-core</artifactId>
            <version>RELEASE</version>
        </dependency>
  1. 基础类型编解码
        //编码
        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);
  1. 集合类型编解码
        //编码
        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));
  1. 类型嵌套编解码
        //编码
        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));
  1. 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());
  1. 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());

更多用例可以参考单元测试

Clone this wiki locally