Hessian的序列化类型与Java内置的有些类似,都是二进制方式。
再次补充了Burlap的测试,Burlap是XML格式的。
我对这三种序列化方式作了一个对比测试:
测试数据
·100次循环
//=========================
1、100次Integer序列化的用时和长度
Java Default 0ms 409
Hessian 0ms 152
Burlap 27ms 1.25K
2、100次"hello world"序列化的用时和长度
Java Default 7ms 513
Hessian 69ms 1.17K
Burlap 57ms 2.73K
3、100次简单对象序列化的用时和长度
Java Default 26ms 1.37K
Hessian 4ms 606
Burlap 422ms 18.6K
·10000次循环
//=========================
1、10000次Integer序列化的用时和长度
Java Default 3ms 39.2K
Hessian 1ms 27.2K
Burlap 2917ms 145K
2、10000次"hello world"序列化的用时和长度
Java Default 231ms 48.8K
Hessian 87ms 117K
Burlap 5530ms 273K
3、10000次简单对象序列化的用时和长度
Java Default 732ms 127K
Hessian 105ms 66.3K
Burlap 41378ms 1874K
结论
Java Default 在数据量不大的情况下性能与Hessian差别不大。
Hessian的优势在对象序列化,劣势在字符串序列化。
但大数据量的处理,Hessian则处于绝对优势,除了字符串的长度大一些。
Burlap... 小数据的时候还可以用用。
分享到:
相关推荐
在Java端定义的类可以通过Hessian的`Hessian2Output`进行序列化,C#端的类则需要通过HessianNet的解码器来反序列化。 至于"List"和"Map",它们在Hessian中也有特别的处理方式。Hessian可以序列化和反序列化List和...
4. **Hessian和Burlap**:是Apache的Caucho项目提供的二进制RPC协议,它们提供了一种轻量级的序列化方式,适合于内部服务间的通信,尤其是跨语言通信。 在Netty中实现序列化,通常需要自定义`MessageToByteEncoder`...
Hessian是一种轻量级的远程调用协议,它允许Java和.NET之间进行二进制序列化的RPC通信,特别适合于低带宽环境或需要高效传输数据的情况。 描述中提到的“NULL”意味着没有具体的描述信息,但我们可以根据标题推测,...
(JSON)Red5 IO AMF(AMF)Apache Flex BlazeDS(AMF)火烈鸟 AMF (AMF)花岗岩 DS (AMF)Java 版 WebORB (AMF)SnakeYAML(YAML)jYAML(YAML)YamlBeans(YAML)“安全”反序列化Java 本机序列化(二进制)概述Java ...
在Hessian 2.0的"call"中指定要调用的方法,方法参数通过call传递,并使用Hessian 2.0序列化协议进行序列化。如果方法调用成功,返回值也会使用Hessian 2.0序列化并发送给客户端;如果调用失败,服务器会向客户端...
因为Hessian和Burlap都是采用了私有的序列化机制,而RMI使用的是Java本身的序列化机制。如果数据模型非常复杂,那么Hessian/Burlap的序列化模型可能无法胜任了。 Spring开发团队意识到RMI服务和基于HTTP的服务...
远程调用方法就是HttpInvoker:他也是将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的优点。试使用Http协议传输二进制流的,同时又具有Hessian、Burlap(传输xml文本)的...
Java中有多种RPC框架,如RMI(Remote Method Invocation)、Hessian、 Burlap、gRPC和Dubbo等。这些框架提供了实现RPC通信的基础设施,简化了开发过程。 3. **RMI**: RMI是Java内置的RPC机制,通过Java对象的...
- 基于字段的序列化器包括:Java Serialization、Kryo、Hessian/Burlap、json-io和XStream。 文档中并未详细列出所有漏洞利用细节,但指出了这些库存在安全隐患,能够被攻击者利用来执行任意代码。 5. 漏洞利用...
- **Hessian和Burlap**: 这是两个轻量级的RPC框架,它们提供二进制和XML序列化协议,简化跨语言的RPC调用。 - **gRPC**: Google开源的高性能、通用的RPC框架,基于HTTP/2协议,支持多种语言,包括Java,提供了强大...
RMI使用Java ObjectStream作为传输标准格式,通过Java序列化机制处理流的转换。 **XML-RPC** XML-RPC与RMI类似,但使用XML作为数据交换格式,因此支持跨语言通信。在XML-RPC中,请求信息被封装成XML文档,然后转化...
1. **多协议支持**:`marshalsec`支持多种Java反序列化协议,如RMI(远程方法调用)、JMX(Java管理扩展)、Hessian、Burlap等,这些协议在不同场景下广泛使用,也是漏洞高发区。 2. **预定义payloads**:`...
Java远程通讯技术是构建分布式系统的关键,涉及到多种技术如RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等。这些技术在不同的场景下有着各自的优势和适用范围,理解它们的工作原理对于优化系统性能至关重要。 ...
5. **兼容性和兼容库**:项目可能支持多种版本的Java和不同的序列化库,如Hessian、Burlap等,这些库也常用于反序列化操作。 6. **社区和文档**:项目可能有一个活跃的开发者社区,提供文档和讨论,以便用户交流反...
2. ** Burlap**:与Hessian类似,Burlap也是一种RPC协议,但它使用XML进行序列化,因此具有更好的可读性,但可能会牺牲一些性能。 3. **Web Services (SOAP/WSDL)**:这种基于标准的远程调用方式提供了高度的互操作...
Java中常见的序列化库有Hessian、Burlap、protobuf、Jackson等。 3. **网络通信框架**:Netty是一个高性能、异步事件驱动的网络应用框架,常用于构建RPC框架。它提供了高效的IO处理,支持多种传输协议,并且具有很...
- Hessian和Burlap:基于HTTP协议的远程通信技术,用于序列化Java对象。 - EJB(Enterprise JavaBeans):一种用于开发企业级应用的Java组件架构,支持远程通信。 6. 网络协议与Java远程通信的关系: - TCP/UDP...
- Hessian和Burlap是轻量级的RPC(远程过程调用)框架,支持二进制和XML序列化。 - JMS(Java Message Service)通过消息队列实现进程间的异步通信。 - JAX-RPC和Web Services(如SOAP)提供了基于HTTP的远程调用...
12. **性能优化**:了解如何优化Dubbo服务的性能,如调优网络通信参数、减少序列化和反序列化开销、优化服务接口设计等。 13. **故障排查**:掌握如何通过日志、监控数据、服务跟踪等方式定位和解决问题。 通过...