# 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

### 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