当前位置: 首页 > news >正文

织梦可以做论坛网站软件开发外包管理

织梦可以做论坛网站,软件开发外包管理,山东网络科技有限公司,网站链接视频怎么做序列化工具对比 JdkSerialize:java内置的序列化能将实现了Serilazable接口的对象进行序列化和反序列化, ObjectOutputStream的writeObject()方法可序列化对象生成字节数组 Protostuff:google开源的protostuff采用更为紧凑的二进制数组&#…

序列化工具对比

  • JdkSerialize:java内置的序列化能将实现了Serilazable接口的对象进行序列化和反序列化, ObjectOutputStream的writeObject()方法可序列化对象生成字节数组

  • Protostuff:google开源的protostuff采用更为紧凑的二进制数组,表现更加优异,然后使用protostuff的编译工具生成pojo类

JdkSerializeUtil


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;/*** jdk序列化*/
public class JdkSerializeUtil {/*** 序列化* @param obj* @param <T>* @return*/public static <T> byte[] serialize(T obj) {if (obj  == null){throw new NullPointerException();}ByteArrayOutputStream bos = new ByteArrayOutputStream();try {ObjectOutputStream oos = new ObjectOutputStream(bos);oos.writeObject(obj);return bos.toByteArray();} catch (Exception ex) {ex.printStackTrace();}return new byte[0];}/*** 反序列化* @param data* @param clazz* @param <T>* @return*/public static <T> T deserialize(byte[] data, Class<T> clazz) {ByteArrayInputStream bis = new ByteArrayInputStream(data);try {ObjectInputStream ois = new ObjectInputStream(bis);T obj = (T)ois.readObject();return obj;} catch (Exception ex) {ex.printStackTrace();}return  null;}}

ProtostuffUtil (优选)


import com.heima.model.wemedia.pojos.WmNews;
import io.protostuff.LinkedBuffer;
import io.protostuff.ProtostuffIOUtil;
import io.protostuff.Schema;
import io.protostuff.runtime.RuntimeSchema;public class ProtostuffUtil {/*** 序列化* @param t* @param <T>* @return*/public static <T> byte[] serialize(T t){Schema schema = RuntimeSchema.getSchema(t.getClass());return ProtostuffIOUtil.toByteArray(t,schema,LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));}/*** 反序列化* @param bytes* @param c* @param <T>* @return*/public static <T> T deserialize(byte []bytes,Class<T> c) {T t = null;try {t = c.newInstance();Schema schema = RuntimeSchema.getSchema(t.getClass());ProtostuffIOUtil.mergeFrom(bytes,t,schema);} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}return t;}}

Protostuff需要引导依赖:

<dependency><groupId>io.protostuff</groupId><artifactId>protostuff-core</artifactId><version>1.6.0</version>
</dependency><dependency><groupId>io.protostuff</groupId><artifactId>protostuff-runtime</artifactId><version>1.6.0</version>
</dependency>

测试

/*** jdk序列化与protostuff序列化对比* @param args*/public static void main(String[] args) {long start =System.currentTimeMillis();for (int i = 0; i <1000000 ; i++) {WmNews wmNews =new WmNews();  //自己测试创建的对象JdkSerializeUtil.serialize(wmNews);}System.out.println(" jdk 花费 "+(System.currentTimeMillis()-start));start =System.currentTimeMillis();for (int i = 0; i <1000000 ; i++) {WmNews wmNews =new WmNews();ProtostuffUtil.serialize(wmNews);}System.out.println(" protostuff 花费 "+(System.currentTimeMillis()-start));}

结果:

http://www.yayakq.cn/news/220604/

相关文章:

  • 衡阳商城网站制作wordpress最新主题
  • 建设工程有限公司企业网站电脑编程培训
  • 成都公司网站百度收录网站方法
  • 做网站怎么赚钱滑县电wordpress 内容换行
  • 两学一做网站网站推广普通话宣传标语
  • 网站注册页面怎么做数据验证网站空间站
  • 网站建设资讯吴川网站建设
  • 机关网站源码服装设计工作室
  • 温州网站建设钢筋工中国好设计
  • 沈阳网站开发公司网站建设gzzhixun
  • 网赌网站建设多少钱深圳营业执照网上申报入口
  • 湛江城乡建设局网站电子商务旅游网站建设策划书
  • 公共资源交易网站建设方案开发小网站一般多少钱一个
  • 东莞市非凡网站建设南京it培训机构
  • 装修公司做宣传在哪个网站app设计原理
  • 网站红色继续好商会网站建设
  • 大气的企业网站源码网站推广的策略有哪些
  • 快速seo整站优化排行东阳高端营销型网站建设品牌
  • 建动画网站需要多少钱什么是网站静态化
  • 工信部企业网站备案吗建设网站个人简介范文
  • 个人博客网站制作教程做网站1核1g服务器够吗
  • 快乐麻花网站源码wordpress访客ip记录
  • 电商网站的需求文档上海网站建设公公司
  • 事业单位网站建设工作方案公司注册资金最低标准
  • 织梦网站需要付费吗wordpress页面属性模板
  • 做网站找哪个部门宁波建网站哪家好
  • 杭州cms建站模板西安网红打卡景点排行榜
  • 网站优化具体怎么做徐州编程培训机构
  • 大气家具营销型网站源码徐东网站建设
  • 建应用网站营销机构代码查询