JanecekPetr | 1 year ago | on: JEP draft: Prepare to make final mean final
JanecekPetr's comments
JanecekPetr | 1 year ago | on: JEP draft: Prepare to make final mean final
The upsides are: - it generates code and does not do anything funky with internals, - it has a lot of knobs if you need something a little different.
The downside is that it does not provide you with the other Lombok annotations. In practice that has been OK!
JanecekPetr | 1 year ago | on: Analyzing the codebase of Caffeine, a high performance caching library
JanecekPetr | 2 years ago | on: JEP Draft: Integrity and Strong Encapsulation
No, the CLI `--add-opens` CLI option will stay. In other words, applications will need to consciously enable the encapsulation-breaking stuff. Is that bad? Modern software moved to public APIs quite a bit ago. That said, if old applications want to use new JDKs, they will require quite some developement, yes.
JanecekPetr | 3 years ago | on: Java 20: A Sneak Peek on the Panama FFM API
Sorry for the tangent, it had to get out somewhere and I did not think it was worthy of an email in the actual review thread : - )
JanecekPetr | 3 years ago | on: JEP draft: 64 bit object headers
JanecekPetr | 4 years ago | on: SQL: The difference between WHERE and HAVING
JanecekPetr | 4 years ago | on: Log4j RCE Found
JanecekPetr | 4 years ago | on: Log4j RCE Found
JanecekPetr | 4 years ago | on: GC progress from JDK 8 to JDK 17
There are some engines, frameworks: https://jmonkeyengine.org/, https://litiengine.com/, https://libgdx.com/, https://www.lwjgl.org/.
But I have no real experience with any of those.
JanecekPetr | 4 years ago | on: GC progress from JDK 8 to JDK 17
JanecekPetr | 4 years ago | on: A Tale of Java Hash Tables
JanecekPetr | 4 years ago | on: A Tale of Java Hash Tables
JanecekPetr | 4 years ago | on: A Tale of Java Hash Tables
JanecekPetr | 4 years ago | on: A Tale of Java Hash Tables
Or was this for Object/boxed primitives, too?
JanecekPetr | 4 years ago | on: A Tale of Java Hash Tables
JanecekPetr | 4 years ago | on: A Tale of Java Hash Tables
You could, manually :). Either way if they're hot, they're inlined.
One common trick for open-addressing maps in Java I don't see in your implementations is to have an array of keys zipped with values (or two arrays, one for keys, one for values) instead of array of Entries. This improves locality and indirection a bit. Obviously more is needed for even more speed.
(Mandatory "in the future it will be better": Valhalla is coming in a few years, that's when we'll have much more control over the memory layout.)
JanecekPetr | 4 years ago | on: Shenandoah in OpenJDK 17: Sub-millisecond GC pauses
JanecekPetr | 4 years ago | on: Stockfish 14
JanecekPetr | 4 years ago | on: Obvious and possible software innovations
Other tools and libraries generally do not interact in such an errorprone manner.
That said, when you know how it works, what it needs, and you know how to iron all of those tiny wrinkles, it works fine and saves you some code and/or sanity. It's not the devil, it's a powerful tool with some downsides.