Topics
| Installation | The bindings require JDK 22+ and native access enabled at launch. |
|---|---|
| Types65 | |
| Searching and Counting | |
| Comparison and Equality | |
| Splitting and Partitioning | Every factory takes an on-heap byte[] or any MemorySegment (e.g. |
| Unicode Segmentation | The segmentation primitive is allocation-free: it fills the caller's array with segment lengths and returns the count. |
| Case Folding and Normalization | Case folding fills a gap: the JDK ships no Unicode case folding. |
| Hashing and Checksums | |
| Sorting and Sets | A failed native call throws StringZilla.StatusException, whose status() is the C szstatust code and statusName() its enumerator name. |
| Memory Operations | Every operation accepts an on-heap byte[] or any MemorySegment. |
| Runtime Dispatch | Every call dispatches to the fastest kernel among the CPU's enabled capabilities, a bitmask with one bit per SIMD capability. |
| Platform Notes | Lucene terms are UTF-8 already (BytesRef), so StringZilla reads the backing bytes directly. |