The Java Virtual Machine enables Java applications to be platform-independent while optimizing performance. One crucial component to understand, when considering performance, especially memory utilization, is how the Java Collections Framework, specifically the ArrayList, handles size and capacity. In this article, we will concentrate on the overhead caused by lists that contain two or three elements.... Continue Reading →
Simulation und Fehlerbehebung von Deadlocks in Kotlin – Bahnbrechende Deadlocks
We would like to extend our thanks to Entwinkler.de JavaMagazin for translating and publishing our article ‘Simulating and troubleshooting deadlocks in Kotlin’ in the German language. It is an honor to have our work published in a print magazine, that too in German language. Here is the translated German version of the article: ‘Simulation und... Continue Reading →
Inspect the contents of the Java Metaspace region
JVM Memory has following regions: a. Young Generation b. Old Generation c. Metaspace d. Others region Video: To see the visual walk-through of this post, click below: https://youtu.be/42hoi0BWUFM Fig: JVM memory regions To see what objects are stored in what region, you may refer to this video clip. Sometimes your application might run into 'java.lang.OutOfMemoryError:... Continue Reading →
In which region intern strings are stored?
intern() is an interesting function in java.lang.String object. intern() function eliminates duplicate string objects from the application and has potential to reduce overall memory consumption of your application. To understand how string intern() function works you may refer to this interesting blog. Intern strings are stored in a string pool in the JVM memory. JVM... Continue Reading →
Troubleshooting Microservice’s OutOfMemoryError: Metaspace
Recently we confronted an interesting 'java.lang.OutOfMemoryError: Metaspace' problem in a Microservice application. This Microservice application will run smoothly for initial few hours, later it will start to throw java.lang.OutOfMemoryError: Metaspace. In this post let me share the steps we pursued to troubleshoot this problem. Video: To see the visual walk-through of this post, click below:... Continue Reading →
Java Hashtable, HashMap, ConcurrentHashMap – Performance impact
There are a good number of articles that articulate functional differences between HashMap, HashTable and ConcurrentHashMap. This post compares the performance behavior of these data structures through practical examples. If you don't have patience to read the entire post, here is bottom line: When you confront with the decision of whether to use HashMap or... Continue Reading →
Montreal 2022 – 16 ARTIFACTS TO CAPTURE WHEN THERE IS A PRODUCTION PROBLEM
ConFoo Montreal is a multi-technology conference for developers. Our Architect Ram Lakshmanan has been invited there to present on the topic "16 artifacts to capture when there is a production problem", which has secured 5th place among 155 sessions. Production problems are tricky to troubleshoot if proper diagnostic information isn’t captured. In this session, 16... Continue Reading →
JAX Online 2020 – WHY & HOW TO WRITE MEMORY EFFICIENT CODE?
JAX - Online Edition 2020 is the conference for JAVA, architecture and software innovations. This conference had 4 major workshops and nearly 20 sessions presented by many speakers from all over the world! All were performed live, carried out with the video platform and designed interactively for the developers. Our Architect Ram Lakshmanan's Why and... Continue Reading →
Surviving Covid19 – Effective way to cut-down IT spending!
Covid19 pandemic has already put a deep economic dent globally. US stock market has experienced the worst crash since 1987. Sooner or later, Enterprises have to figure out a plan to run their organizations on tight budgets. In this below 10 minute interview, our architect Ram Lakshmanan is sharing an effective way to cut down enterprise... Continue Reading →
7 JVM arguments of Highly Effective Applications
At the time (March 2020) of writing this article there are 600+ arguments that you can pass to JVM just around Garbage collection and memory. If you include other aspects, total JVM arguments count will easily cross 1000+. 😊. It's way too many arguments for anyone to digest and comprehend. In this article, we are... Continue Reading →
