# fst **Repository Path**: mirrors/fst ## Basic Information - **Project Name**: fst - **Description**: FST fast-serialization 是重新实现的 Java 快速对象序列化的开发包 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2017-08-09 - **Last Updated**: 2025-09-13 ## Categories & Tags **Categories**: utils, json-tools **Tags**: None ## README fast-serialization ================== * up to 10 times faster 100% JDK Serialization compatible drop-in replacement (Ok, might be 99% ..). As an example: Lambda Serialization which came with 1.8 worked instantly. * Android compatible since version >= 2.17 (use ```FSTConfiguration.createAndroidDefaultConfiguration()``` both on server and client side. The configuration object has to be passed into FSTObjectIn/Output constructors) * OffHeap Maps, Persistent OffHeap maps * FSTStructs is very similar to IBM's packed objects. Difference is: You can run it with Oracle JDK today. * optionally en/decode any Serializable object graph to JSON (incl. shared references) (since 2.29) for interop * Apache 2.0 license since 2.17 ### Docs: [Fast JDK-compatible Serialization](https://github.com/RuedigerMoeller/fast-serialization/wiki/Serialization) [Json Serialization](https://github.com/RuedigerMoeller/fast-serialization/wiki/JSON-serialization) [OffHeap + Persistent Maps](https://github.com/RuedigerMoeller/fast-serialization/wiki/Off-Heap-Maps,-Persistent-Maps) [MinBin cross platform binary format](https://github.com/RuedigerMoeller/fast-serialization/wiki/MinBin) [Kson: a JSon extension](https://github.com/RuedigerMoeller/fast-serialization/wiki/KSon) ### mvn **note:** maven.org might lag 1 day behind after releasing. **3.0.0 version** (requires **java 14**, "--add-modules jdk.incubator.foreign" option on compiler and runtime) ```.xml de.ruedigermoeller fst 3.0.1 ``` **2.0 version** (java 8) ```.xml de.ruedigermoeller fst 2.56 ``` **jdk1.6** compatible build of fst 2.x ```.xml de.ruedigermoeller fst 2.48-jdk-6 ``` 1.x version (different package name, 1.6 compatible ..). Fixes are not backported anymore, unsupported. ```.xml de.ruedigermoeller fst 1.63 ``` ### Who uses FST ? I am not actively tracking use, maven.org reports more than **14000** downloads from **6000** distinct IP accesses triggered by maven builds world wide per month. Notable also: * used in production in [Eurex Exchange](http://www.eurexchange.com/exchange-en/)'s trading back end's middleware * [JUptr.io](http://www.juptr.io/)'s distributed system / NLP engine uses FST * Popular Apache Wicket supplementals use FST to speed up Wicket ![alt tag](https://raw.githubusercontent.com/RuedigerMoeller/fast-serialization/master/fst.png) ### how to build * master contains dev branch/trunk. * 1.x contains old version * The maven build should work out of the box and reproduces the artifact hosted on maven.org * To use the gradle build, you need to configure the proxy server in settings.properties (or just set empty if you do not sit behind a proxy). Note that instrumentation done for fst-structs works only if debug info is turned on during compile. Reason is that generating methods at runtime with javassist fails (probably a javassist bug ..). This does not affect the serialization implementation. JDK 1.6 Build 1.x build since v1.62 are still jdk 6 compatible