- Benchmark HashMap on Java 7 and 8 – Java 8 is 20% better in good hash key but order of magnitude better with heavy collision. (ie. Olog(n) vs O(n))
- Java 8: CompletableFuture vs Parallel Stream – Java 8 parallel stream is actually using fork-join pool that may not fit well for less CPU intensive jobs. In contrast, CompletableFuture with ExecutorService is a better option for that (NOTE: by default, CompletableFuture uses fork-join pool too). This article has demonstrated it via solving a problem in different styles and comparing the performance among them.
- Java 8: Writing asynchronous code with CompletableFuture – This article introduces you how to write your async call with callback using CompletableFuture. And some of interesting methods are introduced along the API that makes your async code more concise and in ease.
- Akka Actor Model – Introduction – use asynchronous messaging with single threaded actor to avoid traditional lock-based concurrency model.
- What is Fiber? – Quasar fibers are “virtual threads” created within regular JVM thread. We can make use of it to make blocking IO no longer expensive due to context switching.
- Stress Testing with Gatling – This blog went over how to set up the server and use gatling to stress test it and good explanation of how to use the reporting and jmx console to tune the system.