Persistenthashmap

A disk-based HashMap implementation allowing persistence of data across sessions.

License

License

GroupId

GroupId

com.jamierf
ArtifactId

ArtifactId

persistenthashmap
Last Version

Last Version

1.0
Release Date

Release Date

Type

Type

jar
Description

Description

Persistenthashmap
A disk-based HashMap implementation allowing persistence of data across sessions.
Project URL

Project URL

https://github.com/reines/persistenthashmap
Source Code Management

Source Code Management

https://github.com/reines/persistenthashmap

Download persistenthashmap

How to add to project

<!-- https://jarcasting.com/artifacts/com.jamierf/persistenthashmap/ -->
<dependency>
    <groupId>com.jamierf</groupId>
    <artifactId>persistenthashmap</artifactId>
    <version>1.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.jamierf/persistenthashmap/
implementation 'com.jamierf:persistenthashmap:1.0'
// https://jarcasting.com/artifacts/com.jamierf/persistenthashmap/
implementation ("com.jamierf:persistenthashmap:1.0")
'com.jamierf:persistenthashmap:jar:1.0'
<dependency org="com.jamierf" name="persistenthashmap" rev="1.0">
  <artifact name="persistenthashmap" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.jamierf', module='persistenthashmap', version='1.0')
)
libraryDependencies += "com.jamierf" % "persistenthashmap" % "1.0"
[com.jamierf/persistenthashmap "1.0"]

Dependencies

compile (3)

Group / Artifact Type Version
com.google.code.gson : gson jar 1.7.1
com.thoughtworks.xstream : xstream jar 1.3.1
xpp3 : xpp3_min jar 1.1.4c

test (1)

Group / Artifact Type Version
junit : junit jar 4.8.2

Project Modules

There are no modules declared in this project.

About Persistent-HashMap

The Persistent-HashMap is basically a persistent version of the Java HashMap class.

Build Status

Warning: It is not under active development, and has not been used in a production environment.

Persistent-HashMap can be found in maven central.

<dependency>
    <groupId>com.jamierf</groupId>
    <artifactId>persistenthashmap</artifactId>
    <version>...</version>
</dependency>

Features

  • Implements the Map interface so can be used in the exact same way as a regular HashMap.
  • No space needs preallocated.
  • Disk space is immediately reclaimed on removing an object.
  • No maintenance required to keep the data store clean.
  • Caching option that keeps a copy of the map in memory (using a standard HashMap) to speed up access.

Notes

  • Because the Map interface does not allow for exceptions being thrown null values are used to indicate an error. As such, the map should not be used to store null values otherwise the behaviour is undefined.
  • The Persistent-HashMap is thread-safe, but does not perform file locking. This means the same data store should not be accessed from multiple processes at once otherwise the behaviour is undefined.
  • Since objects are written to disk the Persistent-HashMap does not have amazingly good performance. It should only be used when persistence is necesary and performance is not critical.

License

The Persistent-HashMap library is released under the BSD 3-clause license.

Credits

The theory is based on HashStore.

Versions

Version
1.0