Package com.dslplatform.json
Class DslJson.SimpleStringCache
java.lang.Object
com.dslplatform.json.DslJson.SimpleStringCache
- All Implemented Interfaces:
StringCache
Simplistic string cache implementation.
It uses a fixed String[] structure in which it caches string value based on it's hash.
Eg, hash & mask provide index into the structure. Different string with same hash will overwrite the previous one.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate StringcreateAndPut(int index, char[] chars, int len) get(char[] chars, int len) Calculates hash of the provided "string" and looks it up from the String[] It it doesn't exists of a different string is already there a new String instance is created and saved into the String[]
-
Field Details
-
mask
private final int mask -
cache
-
-
Constructor Details
-
SimpleStringCache
public SimpleStringCache()Will use String[] with 1024 elements. -
SimpleStringCache
public SimpleStringCache(int log2Size)
-
-
Method Details
-
get
Calculates hash of the provided "string" and looks it up from the String[] It it doesn't exists of a different string is already there a new String instance is created and saved into the String[]- Specified by:
getin interfaceStringCache- Parameters:
chars- buffer into which string was parsedlen- the string length inside the buffer- Returns:
- String instance matching the char[]/int pair
-
createAndPut
-