序列化之Hessian序列化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序列化之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序列化的主要内容,如果未能解决你的问题,请参考以下文章

Hessian序列化的一个潜在问题

Hessian 2.0 序列化协议 - Hessian 2.0 Serialization Protocol 翻译

hessian原理解析三(序列化协议)

HessianSpring整合Hessian

HessianSpring整合Hessian

优雅代码12-hessiankryojson序列化对比