Terracotta-OSS / offheap-store

A library that provides a set of map and cache implementations that store data outside of the normal Java heap
Apache License 2.0
90 stars 46 forks source link
ibm-copyright-1

//// // Copyright 2015-2024 Terracotta, Inc., a Software AG company. // Copyright Super iPaaS Integration LLC, an IBM Company 2024 // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. ////

= OffHeap Store

OffHeap Store is a library that provides a set of map and cache implementations that store data outside of the normal Java heap. Additionally it provides a bunch of interesting things to support these functions that might be interesting in isolation to some people.

Licensed under the Apache License, Version 2.0 + (C) Terracotta, Inc., a Software AG company + (C) Super iPaaS Integration LLC, an IBM Company 2024 +

http://www.terracotta.org

See also: http://www.github.com/ehcache/ehcache3

image::https://dev.azure.com/TerracottaCI/terracotta/_apis/build/status/Terracotta-OSS.offheap-store?branchName=master[Build Status]

== What's Available On the surface OffHeap Store contains implementations of:

Additional functionality includes:

Things that might be interesting to some:

== Structure

Like all software OffHeap Store is just a big stack of abstractions, rough structure starting at the bottom and working up.

[horizontal] +BufferSource+:: +ByteBuffer+ factories [+org.terracotta.offheapstore.buffersource+] +PageSource+:: +Page+ factories, that uses ByteBuffers) [+org.terracotta.offheapstore.paging+] +OffHeapStorageArea+:: native heap-alike that uses pages) +StorageEngine+:: provide storage for POJOs, some use +OffHeapStorageArea+) +OffHeapHashMap+:: core map implementation, uses storage engine for K/V storage and a page for the hashtable. a million subclasses:: all the map derivatives: concurrent, evicting (caches), et al.