Home » JVM » Page 3

Tag Archives: JVM

JVM Architecture: Overview of JVM and JVM Architecture

Hello readers! In this tutorial, we will understand and learn the Java Virtual Machine (JVM) and its architecture. This tutorial will help you to correctly answer the below questions: What is JVM in Java? Different components of JVM Difference between JVM, JRE, and JDK 1. Introduction Java Virtual Machine (JVM) is an abstract virtual machine that resides on your computer ...

Read More »

Understanding Java Buffer Pool

Understanding Java Buffer Pool The buffer pool space is located outside of the garbage collector-managed memory. It’s a way to allocate native off-heap memory. What’s the benefit of using buffer pools? To answer this question, let’s firstly learn what byte buffers are. Byte Buffer Non-Direct Buffer java.nio package comes with the ByteBuffer class. It allows us to allocate both direct and non-direct ...

Read More »

Profiling in Production

Profiling in Production If you ever had some serious issues with a performance of your Java application, most probably you know how valuable thread profiling can be. But do you know which profiler you should use? There are two basic techniques used by profilers – sampling and instrumentation. Sampling Profilers A sampling profiler involves periodically asking the JVM for the ...

Read More »

Minimize Java Memory Usage with the Right Garbage Collector

Size matters when it comes to software. It has become clear that using small pieces within the microservice architecture delivers more advantages compared to the big monolith approach. The recent Java release of Jigsaw helps decompose legacy applications or build new cloud-native apps from scratch. This approach reduces disk space, build time and startup time. However, it doesn’t help enough ...

Read More »

How to shoot yourself in the foot building a Java Agent

Over the years of building Plumbr, we have encountered many challenging problems. Among others, making the Plumbr Java Agent perform reliably without endangering the customers’ applications, is a particularly tricky one. To safely gather all the required telemetry from a live system poses a huge set of problems to tackle. Some of them are quite straightforward while some of them ...

Read More »

JVM Statistics with jstat

I have written about several command-line tools provided with the Oracle and/or OpenJDK Java Development Kits (JDKs) in the past, but I’ve never written exclusively about the jstat tool. The Oracle JDK 9 Documentation Early Access states that jstat is used “to monitor Java Virtual Machine (JVM) statistics.” There is also a warning, “This command is experimental and unsupported.” Although ...

Read More »

Java Garbage Collectors: When Will G1GC Force CMS Out?

In JEPs proposed to target JDK 9 (2017/4/4), Mark Reinhold has written that JEP 291 (“Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector”) is one of two JEPs that “have been placed into the ‘Proposed to Target’ state by their owners after discussion and review”. If things go well for JEP 291, it will be targeted for JDK 9. Reinhold ...

Read More »

How Java’s Built-In Garbage Collection Will Make Your Life Better (Most of the Time)

Discover faster, more efficient performance monitoring with an enterprise APM product learning from your apps. Take the AppDynamics APM Guided Tour! “No provision need be made for the user to program the return of registers to the free-storage list.” This line (along with the dozen or so that followed it) is buried in the middle of John McCarthy’s landmark paper, ...

Read More »