Skip to content

Commit

Permalink
🔄 synced local 'docs/guide/' with remote 'docs/guide/'
Browse files Browse the repository at this point in the history
  • Loading branch information
chaokunyang committed Sep 4, 2024
1 parent 92c3d8f commit 1f3e3bb
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions docs/guide/java_serialization_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ public class Example {
| `registerGuavaTypes` | Whether to pre-register Guava types such as `RegularImmutableMap`/`RegularImmutableList`. These types are not public API, but seem pretty stable. | `true` |
| `requireClassRegistration` | Disabling may allow unknown classes to be deserialized, potentially causing security risks. | `true` |
| `suppressClassRegistrationWarnings` | Whether to suppress class registration warnings. The warnings can be used for security audit, but may be annoying, this suppression will be enabled by default. | `true` |
| `metaShareEnabled` | Enables or disables meta share mode. | `false` |
| `scopedMetaShareEnabled` | Scoped meta share focuses on a single serialization process. Metadata created or identified during this process is exclusive to it and is not shared with by other serializations. | `false` |
| `metaShareEnabled` | Enables or disables meta share mode. | `true` if `CompatibleMode.Compatible` is set, otherwise false. |
| `scopedMetaShareEnabled` | Scoped meta share focuses on a single serialization process. Metadata created or identified during this process is exclusive to it and is not shared with by other serializations. | `true` if `CompatibleMode.Compatible` is set, otherwise false. |
| `metaCompressor` | Set a compressor for meta compression. Note that the passed MetaCompressor should be thread-safe. By default, a `Deflater` based compressor `DeflaterMetaCompressor` will be used. Users can pass other compressor such as `zstd` for better compression rate. | `DeflaterMetaCompressor` |
| `deserializeNonexistentClass` | Enables or disables deserialization/skipping of data for non-existent classes. | `true` if `CompatibleMode.Compatible` is set, otherwise false. |
| `codeGenEnabled` | Disabling may result in faster initial serialization but slower subsequent serializations. | `true` |
Expand Down Expand Up @@ -179,13 +179,13 @@ bit is set, then next byte will be read util first bit of next byte is unset.
For long compression, fury support two encoding:

- Fury SLI(Small long as int) Encoding (**used by default**):
- If long is in [-1073741824, 1073741823], encode as 4 bytes int: `| little-endian: ((int) value) << 1 |`
- If long is in `[-1073741824, 1073741823]`, encode as 4 bytes int: `| little-endian: ((int) value) << 1 |`
- Otherwise write as 9 bytes: `| 0b1 | little-endian 8bytes long |`
- Fury PVL(Progressive Variable-length Long) Encoding:
- First bit in every byte indicate whether has next byte. if first bit is set, then next byte will be read util
first bit of next byte is unset.
first bit of next byte is unset.
- Negative number will be converted to positive number by `(v << 1) ^ (v >> 63)` to reduce cost of small negative
numbers.
numbers.

If a number are `long` type, it can't be represented by smaller bytes mostly, the compression won't get good enough
result,
Expand Down

0 comments on commit 1f3e3bb

Please sign in to comment.