java 反序列化 泛型

来源:互联网 发布:月经半个月不干净知乎 编辑:程序博客网 时间:2024/06/08 10:42

json 目前只能静态反序列化 泛型参数,不能动态.

不能动态的化就无法做成框架,框架技术.


现主流的序列化框架以及他的优缺点

框架名称性能排序优点缺点是否推荐Protocal Buffers1序列化快;开源代码侵入性性强,需要相关的配置文件,无法直接使用Java等面向对象编程语言中的对象否Json/fastJson/JackSon2序列化快,小巧,传输数据格式使用范围广,开源夸平台,夸语言对泛型的支持不是很好极力推荐Hessian4夸平台,夸语言,序列化的使用流程与java内置序列化类似,容易上手性能略低推荐Java内置序列化5使用简单由于是该语言的特殊序列化方式,其他语言没有办法进行解析,夸平台不支持,且性能较低不支持Xstream3把对象转化成xml最好用的专业工具使用不是很广泛,因为现在大多数的数据传输都通过json居多xml数据传输序列化则强烈推荐

看代码,看看各个框架在代码中的具体实现


http://m.blog.csdn.net/ydwyyy/article/details/74452383



  • Hessian 对象的序列化简单实用

    public static void main(String[] args) throws IOException {        Person person = new Person();        person.setAge(18);        person.setName("ydw");        person.setId(1L);        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();        HessianOutput hessianOutput = new HessianOutput(byteArrayOutputStream);        //序列化        hessianOutput.writeObject(person);        byte[] bytes = byteArrayOutputStream.toByteArray();        //反序列化        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);        HessianInput hessianInput = new HessianInput(byteArrayInputStream);        Person ydw = (Person) hessianInput.readObject();        System.out.println(ydw);    }