awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
EsotericSoftware avatar

EsotericSoftware/kryo

0
View on GitHub↗
6,529 星标·840 分支·HTML·BSD-3-Clause·4 次浏览

Kryo

Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion.

The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution management to support the addition, removal, or renaming of fields in serialized data.

High-performance capabilities include the use of off-heap memory and direct buffers for low-level memory IO. The framework also incorporates object pooling to reuse non-thread-safe instances and imposes deserialization size limits on collections and arrays to prevent memory exhaustion.

The system allows for extensibility through custom serialization logic and specialized object instantiation for classes lacking zero-argument constructors.

Features

  • Binary Serialization Formats - Provides a high-performance binary serialization framework for converting Java objects to and from compact binary formats.
  • Binary Serialization - Converts Java objects into a compact binary format for efficient data storage or transmission.
  • Custom Serializer Implementations - Enables the definition of specific read and write logic for classes via custom serializer implementations.
  • Schema Evolution - Maintains backward and forward compatibility by allowing fields to be added, renamed, or removed in serialized data.
  • Object Cloning Techniques - Creates deep or shallow copies of object graphs without requiring intermediate binary conversion.
  • Deep Copying Libraries - Implements a specialized system for creating deep or shallow copies of complex Java object graphs.
  • Reference Tracking - Tracks object identities during serialization to handle circular dependencies and prevent data duplication.
  • Class-to-Serializer Registries - Provides a configurable registry to map specific classes to dedicated read and write serialization logic.
  • Variable-Width Integer Encodings - Employs variable-width integer encoding to represent numbers using fewer bytes and reduce binary size.
  • Deep Class Instance Cloning - Creates full independent copies of complex Java object graphs to avoid modifying original instances.
  • Direct Buffer Processing - Utilizes direct memory buffers to increase data throughput and bypass standard Java heap overhead.
  • High-Performance Binary Data Transfer - Reduces latency and bandwidth usage by utilizing variable-length encoding and optimized memory access.
  • Direct Memory Access - Provides direct memory access capabilities to read and write data using native buffers for increased throughput.
  • Low-Level Memory IO - Utilizes low-level memory access to accelerate the serialization of large primitive arrays.
  • Serializer Registrations - Associates specific classes with custom serialization logic through explicit registration or default strategies.
  • Integer-ID Class Mappings - Reduces serialized data size by mapping fully qualified class names to small integer identifiers.
  • Class Registration Optimizations - Maps fully qualified class names to small integer identifiers to significantly reduce the serialized data size.
  • Direct Memory Serializers - Uses off-heap memory and direct buffers to bypass heap overhead and increase data throughput.
  • Custom Object Instantiation - Allows defining custom instantiation logic to support classes that lack zero-argument constructors during deserialization.
  • Object Pooling - Reuses non-thread-safe serialization instances via object pooling to minimize garbage collection overhead.
  • JSON - 快速且自动化的对象序列化库。
  • Serialization Formats - Efficient object graph serialization for Java applications.
  • Data Serialization - Fast and efficient Java serialization and cloning library.
  • Serialization - Fast and efficient object graph serialization.
  • Serialization and Communication - Fast and efficient object graph serialization for Java.
  • Serialization and I/O - Fast and efficient framework for object graph serialization.

Star 历史

esotericsoftware/kryo 的 Star 历史图表esotericsoftware/kryo 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Kryo 的开源替代方案

相似的开源项目,按与 Kryo 的功能重合度排序。
  • alipay/furyalipay 的头像

    alipay/fury

    4,412在 GitHub 上查看↗

    Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to facilitate cross-language data exchange. It includes an interface definition language compiler that translates schema definitions into idiomatic native types and serialization boilerplate across multiple languages. The project distinguishes itself through a zero-copy binary reader that allows specific fields to be accessed without deserializing the entire object, as well as an object graph serializer that preserves circular references and referential integrity. It also features a

    Java
    在 GitHub 上查看↗4,412
  • google/protobufgoogle 的头像

    google/protobuf

    71,412在 GitHub 上查看↗

    Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to reduce network bandwidth and storage. It functions as a cross-language data interchange standard that enables different platforms and languages to exchange structured data using a shared schema. The project includes an interface definition language compiler that transforms schema definitions into type-safe source code for multiple target programming languages. This mechanism decouples data structures from specific language memory layouts and ensures consistent data handling acro

    C++
    在 GitHub 上查看↗71,412
  • google/flatbuffersgoogle 的头像

    google/flatbuffers

    25,558在 GitHub 上查看↗

    FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation. The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu

    C++cc-plus-plusc-sharp
    在 GitHub 上查看↗25,558
  • cysharp/magiconionCysharp 的头像

    Cysharp/MagicOnion

    4,408在 GitHub 上查看↗

    MagicOnion is a .NET RPC framework used to build type-safe remote procedure call services using shared interfaces for communication between servers and clients. It functions as a binary serialization framework and a distributed service orchestrator, providing a network layer for low-latency streaming and real-time data exchange. The project distinguishes itself through an AOT-compatible network client that uses source generators to support ahead-of-time compilation in restricted runtime environments. It enables bidirectional communication and real-time data streaming, allowing servers and mul

    C#c-sharpgrpcrpc
    在 GitHub 上查看↗4,408
查看 Kryo 的所有 30 个替代方案→

常见问题解答

esotericsoftware/kryo 是做什么的?

Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion.

esotericsoftware/kryo 的主要功能有哪些?

esotericsoftware/kryo 的主要功能包括:Binary Serialization Formats, Binary Serialization, Custom Serializer Implementations, Schema Evolution, Object Cloning Techniques, Deep Copying Libraries, Reference Tracking, Class-to-Serializer Registries。

esotericsoftware/kryo 有哪些开源替代品?

esotericsoftware/kryo 的开源替代品包括: alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… google/protobuf — Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to… google/flatbuffers — FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require… cysharp/magiconion — MagicOnion is a .NET RPC framework used to build type-safe remote procedure call services using shared interfaces for… golang/protobuf — This project is a Protocol Buffers implementation for Go, providing a binary serialization framework to convert native… msgpack/msgpack — MessagePack is a binary object serialization library and a cross-platform data exchange format. It serves as a binary…