commit | dda60cecdebce9d1932378a63a2b35024fb85491 | [log] [tgz] |
---|---|---|
author | Lee Rhodes <leerho@users.noreply.github.com> | Fri Oct 11 15:27:17 2024 -0700 |
committer | GitHub <noreply@github.com> | Fri Oct 11 15:27:17 2024 -0700 |
tree | 8911e47eaa5e33f1840dfbc9c05ba73fc9539fdc | |
parent | 66997503c2a7428441205cffc3a9104f5f0215e0 [diff] | |
parent | 2a08f94da83727b2e301bd42e76ff406e6dad1f9 [diff] |
Merge pull request #226 from apache/update_main_from_4.0.X update main with the java17 edits from 4.0.X
=================
This Memory component is general purpose, has no external runtime dependencies and can be used in any application that needs to manage data structures inside or outside the Java heap.
Please visit the main DataSketches website for more information.
If you are interested in making contributions to this Memory component please see our Community page.
The goal of this component of the DataSketches library is to provide a high performance access API for accessing four different types of memory resources:
Each of the four resource types is accessed using different API methods in the Memory component.
Note: primitive := {byte, short, int, long, float, double}
Heap via primitive arrays:
Heap via ByteBuffer
Off-Heap, Direct via direct allocation:
Off-Heap, Direct via (Direct) ByteBuffer
Off-Heap, Memory-Mapped Files
Starting with release datasketches-memory-4.0.0, this Memory component supports Java 17 when compiling from source and should work with later Java versions at runtime. This component is not designed as a Java Module, so the Jar file should be part of the application classpath.
NOTES:
There are no run-time dependencies. See the pom.xml file for test dependencies.
The Maven build requires JDK-17 to compile:
To run normal unit tests:
mvn clean test
To run javadoc:
mvn clean javadoc:javadoc -DskipTests=true
To run the eclipse plugin on this multi-module project, use:
mvn clean eclipse:eclipse -DskipTests=true
To install jars built from the downloaded source:
mvn clean install -DskipTests=true
This will create the following Jars:
For releasing to Nexus, please use the sign-deploy-jar.sh
script in the scripts directory. See the documentation within the script for usage instructions.