Home » Tag Archives: JVM (page 3)

Tag Archives: JVM

What is promotion rate?

java-logo

I do believe you are familiar with the Peter principle. In general, the principle is an observation that promotions can and will lead to a situation where the promoted person is no longer qualified for the job. For the JVM the similar problem exists. Promoting objects too fast can have significant impact to performance. In this post we open up ...

Read More »

What is allocation rate?

java-logo

Phrases such as “unsustainable allocation rate” and “you need to keep your allocation rates low” seem to belong to the vocabulary of Java Champions alone. Complex, scary and surrounded by magic aura. As it often happens, the magic disappears with a puff of smoke when you look at the concepts more closely. This post is trying to remove the magic ...

Read More »

Chronicle Journal – Customizable Data Store

java-logo

Overview The way to make any data structure or algorithm as fast as possible is for the code to do exactly what you want and no more. The problem with building a data store which does every thing anyone could want is that it won’t do anything particularly well. What can you achieve with a custom data store in terms ...

Read More »

Stack smashing detected

java-logo

 I bet every Java developer has been surprised at some point in the beginning of their career when they first encounter native methods in Java code. I am also sure that the surprise has later vanished over the years with coming to understand how the JVM handles calls to native implementations via JNI. This post is about a recent experience with ...

Read More »

An Unexpected Allocation – JIT Compilation Jitter

java-logo

Whilst working on ByteWatcher (see my last post) I came across something rather strange. This is the actual code snippet used to find out how much allocation there has been on a particular thread: return (long) mBeanServer.invoke( name, GET_THREAD_ALLOCATED_BYTES, PARAMS, SIGNATURE ); For the full context see here. (The way ByteWatcher works is to call this method periodically to monitor allocation.) One ...

Read More »

Squeezing data into the data structure

java-logo

This story is about a capacity optimization task that we recently carried out at Plumbr. It all started with an innocent-looking requirement being added to the existing mix. As you might know, Plumbr monitoring solution is distributed as a Java Agent which connects to a Server. The small addition required to keep track of all the connected Agents over time so ...

Read More »

What is the fastest Garbage Collector in Java 8?

java-logo

OpenJDK 8 has several Garbage Collector algorithms, such as Parallel GC, CMS and G1. Which one is the fastest? What will happen if the default GC changes from Parallel GC in Java 8 to G1 in Java 9 (as currently proposed)? Let’s benchmark it. Benchmark methodology Run the same code 6 times with a different VM argument (-XX:+UseSerialGC, -XX:+UseParallelGC, -XX:+UseConcMarkSweepGC, ...

Read More »

JVM Buzzwords Java developers should understand

java-logo

This article will share with you a few JVM “buzzwords” that are important for Java developers to understand and remember before performing any JVM performance and garbage collection tuning. A few tips are also provided including some high level performance tuning best practices at the end of the article. Further recommendations regarding the Oracle HotSpot concurrent GC collectors such as CMS and G1 ...

Read More »

GC tuning in practice

java-logo

Tuning Garbage Collection is no different from any other performance-tuning activities. Instead of giving in to temptation for tweaking random parts of the application, you need to make sure you understand the current situation and the desired outcome. In general it is as easy as following the following process: State your performance goals Run tests Measure Compare to goals Make ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials