SpringBoot is a widely used framework for building Java-based web applications and maintains a significant presence in the world of enterprise software development. It powers large-scale microservices and standalone applications. Most SpringBoot applications have embedded web servers and follow a distributed architecture consisting of three main types of application components: Backend: API services Backend: Event... Continue Reading →
Java Collection Overhead
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 →
Problems With Finalizer
In Java, the finalize method has been part of the language since its early days, offering a mechanism to perform cleanup activities before an object is garbage collected. However, using finalizers has come under scrutiny due to several performance-related concerns. As of Java 9, the finalize method has been deprecated, and its use is highly... Continue Reading →
GraalVM vs OpenJDK GC Performance Comparison
In this article, we are going to compare the performance of Garbage Collection(GC) of OpenJDK and GraalVM. The GraalVM is a popular open source JVM implementation in Java with a capability to run applications as native images. Apart from that, it has got other functionalities such as fast loading time, compacted memory usages,etc. Let’s compare the... Continue Reading →
7 JVM ARGUMENTS OF HIGHLY-EFFECTIVE APPLICATIONS – JAX London
Every year in October, JAX London is the go-to event for Java and Software Architecture enthusiasts! It is a four-day conference for cutting-edge software engineers and enterprise-level professionals. This year, at JAX London’s 2023 conference, our architect Ram Lakshmanan was invited to talk on the topic: “7 JVM ARGUMENTS OF HIGHLY-EFFECTIVE APPLICATIONS”. There are more... Continue Reading →
TOP 5 JAVA PERFORMANCE PROBLEMS – JAX London
Every year in October, JAX London is the go-to event for Java and Software Architecture enthusiasts! It is a four-day conference for cutting-edge software engineers and enterprise-level professionals. This year, at JAX London’s 2023 conference, our architect Ram Lakshmanan was invited to talk on the topic: “TOP 5 JAVA PERFORMANCE PROBLEMS”. This session explained about... Continue Reading →
Why yCrash?
In the world of software engineering, where innovation meets precision, yCrash emerges as a toolkit designed to enhance Java performance monitoring and diagnostics. A DevOps engineer, would delve into this article as a guide that shares the practical advantages of what yCrash offers. It speaks about how yCrash empowers developers with a seamless interface for... Continue Reading →
Untangling Deadlocks Caused by Java’s parallelStream
Concurrency is both the boon and bane of software development. The promise of enhanced performance through parallel processing comes hand in hand with intricate challenges, such as the notorious deadlock. Deadlocks, those insidious hiccups in the world of multithreaded programming, can bring even the most robust application to its knees. It describes a situation where... Continue Reading →
How to capture and analyze Thread dumps in Android?
Discover the power of thread dumps in Android development. Learn what thread dumps are, how to capture them using commands like 'dumpsys thread' and 'jstack,' and uncover the insights they offer. Explore the effectiveness of 'fastThread,' a user-friendly tool that simplifies thread dump analysis, helping you identify performance issues, deadlocks, and more for a smoother... Continue Reading →
Java Suspended Thread states (BLOCKED, WAITING, TIMED_WAITING)
Java threads can be in 6 different states: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED. When a thread is suspended (i.e., unable to progress further), it will be one of these 3 suspended thread states: BLOCKED, WAITING, TIMED_WAITING. Let's discuss these 3 states with real-life fun examples 🙂 BLOCKED A thread enters the ‘BLOCKED’ state when... Continue Reading →