序列化之Hessian序列化
阿新 • • 發佈:2017-08-30
java hessian
Hessian序列化與Java默認的序列化區別?
1、 Hessian 支持跨語言串行
2、 比java序列化具有更好的性能和易用性
3、 支持的語言比較多
package com.xingej.ser.impl; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import com.caucho.hessian.io.HessianInput; import com.caucho.hessian.io.HessianOutput; import com.xingej.ser.ISerializer; public class HessianSerializer implements ISerializer { @Override public <T> byte[] serialize(T obj) { // 1、創建字節輸出流 ByteArrayOutputStream bos = new ByteArrayOutputStream(); // 2、對字節數組流進行再次封裝 HessianOutput hessianOutput = new HessianOutput(bos); try { // 註意,obj 必須實現Serializable接口 hessianOutput.writeObject(obj); } catch (IOException e) { e.printStackTrace(); } return bos.toByteArray(); } @SuppressWarnings("unchecked") @Override public <T> T deserialize(byte[] data, Class<T> clazz) { // 1、將字節數組轉換成字節輸入流 ByteArrayInputStream bis = new ByteArrayInputStream(data); HessianInput hessianInput = new HessianInput(bis); Object object = null; try { object = hessianInput.readObject(); } catch (IOException e) { e.printStackTrace(); } return (T) object; } }
本文出自 “XEJ分布式工作室” 博客,請務必保留此出處http://xingej.blog.51cto.com/7912529/1960998
序列化之Hessian序列化