diff --git a/README.md b/README.md index 2a4de8022..2420928ca 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ # Chronicle Map -![Chronicle Map](http://openhft.net/wp-content/uploads/2014/07/ChronicleMap_200px.png) +

Documentation: Tutorial, Javadoc

-

Community support: Chronicle +

Community support: Issues, +Chronicle mailing list, Stackoverflow, Chronicle User's group

@@ -252,6 +253,7 @@ directory. --- + **You *must* configure `.entries(entries)` -- the supposed `ChronicleMap` size.** Try to configure the `entries` so that the created Chronicle Map is going to serve about 99% requests being less or equal than this number of entries in size. @@ -388,7 +390,8 @@ for (long id : orderIds) { Use `ChronicleMap#getUsing(K key, V using)` to reuse the value object. It works if: - - The value type is `CharSequence`, pass `StringBuilder` as the `using` argument. For example: + - The value type is `CharSequence`, pass `StringBuilder` as the `using` argument. + For example: ```java ChronicleMap names = ... StringBuilder name = new StringBuilder(); @@ -438,8 +441,8 @@ cachedRange = cityPostalCodes.getUsing(city, cachedRange); In this example, `cachedRange` is `null` initially, on the first `getUsing()` call the heap value is allocated, and saved in a `cachedRange` field for later reuse. -*If the value type is a value interface, **don't** use flyweight implementation as `getUsing()` -argument.* This is dangerous, because on reusing flyweight points to the `ChronicleMap` memory +If the value type is a value interface, don't use flyweight implementation as `getUsing()` +argument. This is dangerous, because on reusing flyweight points to the `ChronicleMap` memory directly, but the access is not synchronized. At least you could read inconsistent value state, at most - corrupt the `ChronicleMap` memory.