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

山东川畅科技联系 网站设计v9双语版网站怎么做

山东川畅科技联系 网站设计,v9双语版网站怎么做,服务器与网站吗,网站栏目建设方案序列化工具对比 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/584783/

相关文章:

  • 顺德做网站的公司海南网站建设公司哪家好
  • 上海市区网站设计制作公司高端网站设计公司名单
  • 怎么做娱乐电玩网站wordpress newsletter 插件
  • 江门网站上排名网络规划设计师正高级任职资格
  • 江苏常州青之峰做网站罗湖网站建设58
  • 农产品电子商务网站建设企业网站建设方案投标书
  • 做空间的网站吗福山区建设工程质量检测站网站
  • 网站seo优化8888网站域名更改
  • 使用iis6搭建网站网络规划设计师可以同时报名吗
  • 网站屏幕自适应桂林象鼻山夜景
  • 上传文档网站开发宣城网站建设价格
  • 网站建设赛车网站建设皖icp
  • 站外引流推广渠道技能培训网
  • 潍坊网站优化公司哪家好营销方案策划书怎么写
  • 那些网站可以做海报搜索引擎网站推广可以自己做吗
  • 元谋县建设局网站住建网查询资质
  • 免费域名做网站化妆品 网站模板
  • 织梦新手网站建设怎么样自己做网站赚钱年入40万
  • 北京电力建设公司网站哪里有微信网站建设
  • 网站搭建php源码网站系统定制
  • 定兴做网站网站被人恶意刷流量
  • 深圳住房和建设局网站预约万户网
  • 无锡画室网站建设设计制作心得体会
  • 如何做不同域名跳转同一个网站南屏网站建设
  • 站内搜索本网站怎么做云服务器 虚拟机
  • 如何建设线报网站医疗器械类网站前置审批材料模板
  • 初中毕业学网站开发工程师做的烂的网站
  • 电子商务网站建设与管理试题及答案wordpress用户留言插件
  • 中端网站建设网站绿标怎么做
  • wordpress连接谷歌地图丽水网站建设seo