Simulating & troubleshooting deadlock in Kotlin

All multi-threaded applications are prone to deadlock. Modern Kotlin platform is no exception to it. In this post let’s discuss how to simulate a deadlock in Kotlin and how you can troubleshoot it. What is Deadlock? First let's try to understand what 'Deadlock' means. Several technical definitions aren’t clear. ‘Deadlock’ is one among them ;-).... Continue Reading →

Java class loading – performance impact!

java.lang.ClassLoader#loadClass() API is used by 3rd party libraries, JDBC Drivers, frameworks, application servers to load a java class into the memory. Application developers don’t use this API frequently. However when they use the APIs such as ‘java.lang.Class.forName()’ or ‘org.springframework.util.ClassUtils.forName()’, they internally call this 'java.lang.ClassLoader#loadClass()' API. Frequent usage of this API amongst different threads at runtime... Continue Reading →

“Learn yCrash” series

The industry has seen cutting-edge Application Performance Monitoring tools and infrastructure monitoring tools. These monitoring tools are great at answering the question: 'What is the problem?'' but not, Why does the problem happen? yCrash attempts to answer this question. It captures 360-degree artifacts from your technology stack such as Garbage collection logs, thread dumps, heap dumps,... Continue Reading →

Memory leak due to improper exception handling

In this post let's discuss an interesting memory problem we confronted in the production environment and how we went about solving it. This application would take traffic for a few hours after that it would become unresponsive. It wasn't clear what was causing the unresponsiveness in the application. Technology stack This application was running on... Continue Reading →

Java UUID generation – Performance impact

Java developers tend to use 'java.util.UUID#randomUUID()' API, to generate a UUID (Universally Unique Identifier) number (i.e., 'b8bbcbed-ca07-490c-8711-5118ee0af2f9'). Under certain circumstances, using this API can affect your application’s availability. Let’s discuss this API in this post with a real-world example. How does  'java.util.UUID#randomUUID()' API works? java.util.UUID#randomUUID() API internally uses 'entropy' in the operating system to generate... Continue Reading →

Let’s crash the applications! – Confoo 2022

ConFoo Montreal is a multi-technology conference for developers. This year , they have conducted the program to exchange knowledge and ideas from speakers all over the world. Our Architect Ram Lakshmanan was invited to give a talk on the topic: "Let's crash the applications!" In this session, following topics have been discussed: code snippets that... Continue Reading →

Powered by WordPress.com.

Up ↑