The post discusses troubleshooting a 'java.lang.OutOfMemoryError: Metaspace' issue in a microservice application, which works initially but fails after a few hours. It details identifying memory leaks in the Metaspace region through garbage collection logs and heap dump analysis, ultimately resolving the issue by upgrading a problematic third-party library.
This post compares the performance of HashMap, Hashtable, and ConcurrentHashMap through practical examples. It recommends ConcurrentHashMap for its thread-safe implementation, despite being marginally slower than HashMap. Testing showed HashMap performed best, but was not thread-safe, while Hashtable was significantly slower due to its synchronization constraints.
This post discusses the advantages of setting the initial heap size equal to the maximum heap size for Java applications running on JVM. It highlights benefits like improved application availability, enhanced performance, reduced startup time, and unchanged computing costs. The article argues that this practice is particularly beneficial for enterprise applications.
The post discusses a memory leak issue in a Java application running on AWS that caused unresponsiveness after a few hours. Using the yCrash tool, the problem was traced to an anonymous inner class that failed to stop a thread under certain exceptions. The solution involved moving the thread termination code to a 'finally' block, resolving the issue.
ConFoo Montreal is a conference for developers that encourages knowledge sharing. Architect Ram Lakshmanan presented a session titled "Let's crash the applications!" covering issues like memory leaks, thread leaks, and deadlocks. Understanding these triggers aids in diagnosing and resolving related problems effectively. Slides from the talk are available for reference.
ConFoo Montreal is a conference for developers featuring Ram Lakshmanan, who presents on capturing 16 key artifacts during production problems, ranked 5th out of 155 sessions. The session emphasizes the importance of diagnostic information for troubleshooting and discusses effective tools for analyzing captured artifacts. Slide deck available for reference.
Analyzing garbage collection (GC) logs offers benefits such as reduced pause times, lower cloud costs, and improved capacity planning. This post outlines the process of enabling GC logs, the ideal measurement duration and environment, and tools for analysis. Key tools include GCeasy and IBM's GC visualizer for effective optimization.
OutOfMemoryError in Java occurs when the JVM cannot allocate memory due to insufficient space in the heap, even after garbage collection. Different types and causes exist, each requiring specific fixes. A one-page document summarizing this information is available, which the author finds visually appealing for display.
