`
kolor
  • 浏览: 10108 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java序列化框架之Kryo

阅读更多

多种序列化框架各指标的比较,点击这里查看
下面是引用的几张图:







 
kryo优势很明显,不管是速度上还是空间上,都非常可观。
因此,当时我和同事在写summercool-hsf(开源的高性能RPC框架)时,内置的序列化方案就是kryo。

不过同样也有些缺陷:
1. 只有java实现。
2. 因为序列化后的字节码中不包含Field元数据,所以在新旧协议间很难做兼容性处理
3. 2.x最近出的几个版本貌似bug比较多

这篇文章中有描述kryo的字节码格式:点击这里查看
kryo官网:https://code.google.com/p/kryo/ 

一个好的序列化框架,不仅要在时间和空间上做到极致,同时也要考虑扩展性及新旧协议间的兼容性问题。只是现实是残酷的,鱼与熊掌不可兼得,所能做的也只能在不同的场景使用适合的方案而已。


Kolor
public 

0
0
分享到:
评论

相关推荐

    Java对象序列化框架Kryo.zip

    Kryo 是一个快速高效的Java对象图形序列化框架,主要特点是性能、高效和易用。该项目用来序列化对象到文件、数据库或者网络。示例代码:Kryo kryo = new Kryo(); // ... Output output = new Output(new...

    java高效对象序列化反序列化工具kryo-2.21

    Kryo是一款强大的、高效且易于使用的Java序列化库,特别适合对性能有高要求的场景。在本文中,我们将深入探讨Kryo的核心特性、工作原理以及如何在实际项目中应用。 ### Kryo简介 Kryo是一个开源的序列化库,最初由...

    java 常用序列化和反序列化框架使用demo

    本篇将介绍几个常用的Java序列化和反序列化框架,并通过示例代码进行演示。 1. **Java标准序列化**: Java标准序列化通过实现`Serializable`接口来标记类可序列化。要序列化一个对象,可以使用`ObjectOutputStream...

    基于高性能的Java序列化框架fse设计源码

    本项目是针对高性能Java序列化的框架fse设计源码,共包含73个文件,涵盖66个Java源文件、2个XML配置文件、1个Git忽略文件、1个LICENSE文件、1个Markdown文件、1个YAML配置文件、1个DDL数据库脚本文件。该框架能够将...

    Lbse序列化框架1.0.1

    高性能java序列化框架,比kryo的性能还要强上三分之一。目前还不支持多维数组以及Map类。框架正在持续开发演进中。

    基于Netty通信框架和Kryo序列化协议的Spring集成Nexus RPC框架设计源码

    该项目为基于Netty通信框架和Kryo序列化协议的Spring集成Nexus RPC框架设计源码,共计90个文件,涵盖70个Java源文件、8个XML配置文件、2个YAML文件、2个PNG图片文件、1个Git忽略文件、1个许可证文件和1个Markdown...

    Kryo序列化及反序列化用法示例

    Kryo是Java对象图形序列化框架,它主要特点是性能高效和易用,该项目用来序列化对象到文件、数据库或者网络。序列化是指将对象转换为字节流的过程,而反序列化是指将字节流转换回对象的过程。 Kryo序列化的优点包括...

    序列化测试-java

    Kryo的优点在于它的效率,但缺点是不完全兼容Java序列化,可能导致与其他使用Java序列化的系统不兼容。 **Fastjson** Fastjson是阿里巴巴开源的一个高性能的JSON库,不仅支持JSON与Java对象之间的转换,还提供了...

    Objective-C序列化框架KryoCocoa.zip

    KryoCocoa 是 Kryo 高性能 Java 序列化框架的 Objective-C 移植版本,兼容 Java 版本的序列化格式。示例代码:Kryo *kryo = [Kryo new]; // ... NSOutputStream *outputStream = [NSOutputStream ...

    Netty服务端与客户端依靠Java序列化传输数据

    Java序列化相对较慢,对于高并发和大数据量的场景,可能需要考虑其他的序列化库,如FST、Kryo或Google的Protobuf等。这些库提供更快的速度和更小的序列化数据大小。 7. **Netty与协议**: Netty支持多种协议,如...

    kryo java语言编写的高效的二进制对象图形序列化框架

    Kryo是一个高效的二进制对象图形序列化框架,主要针对Java语言进行设计。它的主要目标是提供高速、低内存占用以及简单易用的API,以便为Java对象提供持久化的能力,包括持久化为文件、数据库或网络传输。Kryo的性能...

    lbse高性能序列化框架1.0.3

    高性能的java序列化框架,无论是生成的二进制字节数或者是序列化的速度都要优于kryo

    KryoJava序列化和克隆框架具有快速高效自动的特点

    Kryo是一个针对Java的高性能对象图序列化框架,由Esoteric Software开发,其特性包括快速、高效以及自动处理,使得在内存序列化和反序列化过程中能实现卓越的性能。 **Kryo的核心特性** 1. **速度与效率**:Kryo...

    kryo-3.0.3-all.zip

    1. **高速度**:Kryo序列化速度远超标准的Java序列化,这是由于它采用了字节码操作和预注册类的方式,减少了运行时反射的开销。 2. **低内存消耗**:Kryo通过对象池和对象引用跟踪机制,减少了序列化和反序列化过程...

    kryo序列化

    Kryo序列化是一种高效、快速的Java对象序列化框架,被广泛用于数据持久化、网络传输和内存缓存等场景。Kryo库以其优秀的性能在众多序列化库中脱颖而出,尤其是在处理大量对象时,它的速度比Java内置的序列化机制快得...

    kryo-demo,kryo4.0.0-demo

    Kryo是Immutables.org开发的一个快速、高效的对象图形序列化框架,适用于Java和Scala。它的主要特点是速度极快,内存占用小,适合大数据处理和网络传输。Kryo 4.0.0作为其最新版本,引入了一些性能优化和新特性,...

    快速序列化框架

    本文将对五种常见的快速序列化框架——Google Protobuf、Apache Thrift、Hessian、Avro 和 Kryo 进行详细介绍,并对其性能进行比较。 #### 二、各框架详解 ##### 1. Google Protobuf - **简介**:由Google开发并...

    netty传输kryo序列化的对象基于socket传输

    Kryo则是一种高效的Java对象序列化库,能够快速地序列化和反序列化对象,尤其适合于内存有限或者需要高速传输数据的场景。 本主题“netty传输kryo序列化的对象基于socket传输”探讨的是如何结合Netty和Kryo,实现...

    基于Kryo序列化机制的RPC协议——Kryonet的应用与研究

    Kryonet是Java领域中一个轻量级、高效的RPC框架,它利用了Kryo库进行序列化,从而提供了快速的数据交换能力。本文将深入探讨Kryonet在RPC协议中的应用与研究。 首先,我们来理解Kryo序列化机制。Kryo是一个高性能的...

    Kryo所需的依赖包

    它提供了比标准Java序列化更快的速度和更小的存储开销。 - 序列化过程中,Kryo会跟踪对象引用,避免循环引用导致的无限递归问题。 2. **性能优化**: - 注册机制:Kryo允许开发者预先注册类,这样在序列化和反...

Global site tag (gtag.js) - Google Analytics