Learn how to take advantage of the new graceful shutdown feature in Spring Boot 2.3
Baeldung Author
Ali Dehghani
Has a BSc in Chemical Engineering and MSc in Information Technology. Except for the major change, nothing else has changed, still, a computer geek who is passionate about all aspects of software engineering looks for elegant and possibly new solutions, eager to learn and hopefully help fellow software geeks to do so.
Here's what I've written (so far):
Performance Comparison of boolean[] vs BitSet
Filed under Java
Compare BitSets and boolean[] in terms of performance in different scenarios
Difference in Used, Committed, and Max Heap Memory
Filed under Java
Learn how adaptive sizing works and evaluate the difference between max, used, and committed sizes
A Guide to BitSet in Java
Filed under Java
Learn how we can use a Java BitSet to represent a vector of bits, gett familiar with the BitSet internals, and take a closer look at its API
A Guide to False Sharing and @Contended
Filed under Java
Learn how sometimes false sharing might cause counterproductive effects on the performance of multithreaded applications
Garbage Collection and Cyclic References in Java
Filed under Java
Learn how the JVM makes sure to collect the unreachable but cyclic object references
Memory Address of Objects in Java
Filed under Java
Learn how to find the memory address of objects in Java
Measuring Object Sizes in the JVM
Filed under Java
Learn how to measure Java object sizes with various tools such as JOL, Java Agents, and the jcmd command-line utility
Configuring Stack Sizes in the JVM
Filed under Java
Learn how to configure the thread stack sizes in the HotSpot JVM
When Does Java Throw the ExceptionInInitializerError?
Filed under Java
Learn what causes Java to throw an ExceptionInInitializerError using a few practical examples
Where Is the Array Length Stored in JVM?
Filed under Java
If you always wanted to know how JVM stores array length, you will find the answer here.
Memory Layout of Objects in Java
Filed under Java
Learn how the JVM lays out objects and arrays in the heap
Exploring JVM Tuning Flags
Filed under Java
Learn a few ways to discover JVM tuning flags and learn how to work with them
boolean and boolean[] Memory Layout in the JVM
Filed under Java
Learn the footprint of a boolean value in the JVM in different circumstances
<init> and <clinit> Methods in the JVM
Filed under Java
See how the compiler and runtime use the <init> and <clinit> methods for initialization purposes
String Concatenation with Invoke Dynamic
Filed under Java
Learn about relatively new Java optimization: string concatenation with invokedynamic
Super Type Tokens in Java Generics
Filed under Java
Learn how to preserve the generic type information at runtime using super type tokens.
An Introduction to Invoke Dynamic in the JVM
Filed under Java
Learn about invokedynamic and see how it can help library and language designers to implement many forms of dynamicity.
Executors newCachedThreadPool() vs newFixedThreadPool()
Filed under Java
Compare the newCachedThreadPool() and newFixedThreadPool() implementations and their use-cases
Guide to RejectedExecutionHandler
Filed under Java
Learn about what happens when a thread pool can’t accept any more tasks and how to control this by applying saturation policies