Just Enough Architectural Documentation
Content Intro Quality vs. Quantity Just Enough Context Diagram Software Diagram Deployment Diagram Architectural Decision Record Is there something else to consider? Why not use an architectural model? Further References…
Application / Dynamic Class Data Sharing In HotSpot JVM
Content Intro Class Data Sharing (CDS) Archive footprint on disk Application Class Data Sharing (AppCDS) Shared base address Store interned strings Dynamic Class Data Sharing (Dynamic CDS) Base-layer dependency Create…
Do we really need an ORM?
Motivation Nowadays, using an ORM (Object-Relational Mapping) is a low-hanging fruit because there are plenty of such implementations available for modern programming languages and a variety of databases. But is…
HotSpot JVM Performance Tuning Guidelines
HotSpot JVM Performance Tuning Guidelines Content Intro Memory Heap Off-Heap Metaspace CodeCache Direct Buffers ClassLoader Dynamic Class-Data Sharing Just-In-Time Compiler Tiered Mode: C1+C2 Graal JIT Threads Garbage Collectors Serial Garbage…
The inner workings of technical conferences
Introduction In this blog post, David Leitner and I want to give you an insight, based on our experience from the past years of speaking at international conferences (e.g. more…
JVM Garbage Collectors Benchmarks Report 19.12
Context The current article describes a series of Java Virtual Machine (JVM) Garbage Collectors (GC) micro-benchmarks and their results, using a different set of patterns. For the current issue, I…
When do we need an architect
Key takeaways the methodology, whatever that is (e.g. SCRUM, SAFE, etc) should not impose the necessity of having an architect in the team, but rather the real project needs. in…
Logging patterns and their performance impact
Motivation In the current post, I would like to explore different logging patterns and to identify which one is more efficient in terms of performance. Since logging is spread across…