Home » Tag Archives: JVM (page 3)

Tag Archives: JVM

JIT Compiler, Inlining and Escape Analysis

java-logo

Just-in-time (JIT) Just-in-time (JIT) compiler is the brain of the Java Virtual Machine. Nothing in the JVM affects performance more than the JIT compiler. For a moment let’s step back and see examples of compiled and non compiled languages. Languages like Go, C and C++ are called compiled languages because their programs are distributed as binary (compiled) code, which is ...

Read More »

Writing BDD tests with Cucumber JVM

java-logo

Cucumber JVM as an excellent tool to write your BDD tests.In this article I would like to give an introduction to BDD with Cucumber JVM. Let’s get started… What is BDD?           In a nutshell, BDD tries to solve the problem of “understanding requirements with examples” BDD tools There are lot of tools available for BDD ...

Read More »

High-Concurrency HTTP Clients on the JVM

java-logo

HTTP is probably the most popular application-level protocol and there are many libraries that implement it on top of network I/O, which is a special (stream-oriented) case of general I/O. Since all I/O has a much in common 1, let’s start with some discussion about it. I’ll concentrate on I/O cases with a lots of concurrent HTTP requests, for example micro-services, ...

Read More »

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 »

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:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns