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  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 deserialize(byte[] data, Class 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;
	}

}