Home » Tag Archives: JVM (page 8)

Tag Archives: JVM

Java final fields on x86 a no-op?

java-logo

I have always enjoyed digging in to the details of multi-threaded programming, and always enjoy that despite reading for years about CPU memory consistency models, wait-free and lock-free algorithms, the java memory model, java concurrency in practice, etc. etc. — I still create multi-threaded programming bugs. It’s always a wonderfully humbling experience that reminds me how complicated of a problem ...

Read More »

Running out of memory without the OutOfMemoryError

java-interview-questions-answers

This is actually a reincarnation of a post originally posted in ~2010. The flashback occurred when listening to our engineers cursing at a particularly nasty bug raising its head yesterday. When the cursing stopped, I stepped by to verify my doubts. Lo and behold, I was correct – the mood swing was caused by an app running out of the ...

Read More »

Add Some Entropy to Your JVM

java-logo

Being able to generate true random numbers depends on the entropy in your system. Some claim, that this can be guaranteed by fair dice roll. Others think that replacing the OpenJDK’s java.math.Random.nextInt() method with this body will help:                 public int nextInt() { return 14; } Source: http://www.redcode.nl/blog/2013/10/openjdk-and-xkcd-random-number/. But that’s absurd. We all know ...

Read More »

How To Write Your Own Java / Scala Debugger

java-logo

With this post we’ll explore how Java / Scala debuggers are written and work. Native debuggers such WinDbg for Windows or gdb for Linux/Unix get their power from hooks provided to them directly by the OS to monitor and manipulate the state of an external process. The JVM, acting as an abstraction layer on top of the OS, provides its ...

Read More »

Java Mission Control 5.2 is Finally Here! Welcome 7u40!

java-logo

It has been a while since we last heard of this fancy little thing called Mission Control. It came all the way from JRockit and was renamed to Java Mission Control. This is one of the parts which literally survived the convergence strategy between HotSpot and JRockit. With today’s Java SE 7 Update 40 you can actually use it again. ...

Read More »

Dealing With Slow Resource Leaks

java-monitor-logo

Finding resource leaks using Java-monitor Finding slow resource leaks is key to keeping your application servers up and running for very long times. Here I explain how I use Java-monitor to spot slow resource leaks and how to verify that they are actual leaks and not just extra pre-allocation into some HTTP connector or database pool. If you follow these ...

Read More »

Understanding the OutOfMemoryError

java-logo

Whenever you find yourself staring a stacktrace with OutOfMemoryError in it, it should all be crystal clear. The program has got no more elbow room and is dying just because of lack of it. From the 10,000 feet or executive chair this might already contain too much information. But those of you who have to build or maintain the applications ...

Read More »

5 Coding Hacks to Reduce GC Overhead

java-logo

In this post we’ll look at five ways in which we can use efficient coding to help our garbage collector spend less CPU time allocating and freeing memory, and reduce GC overhead. Long GCs can often lead to our code being stopped while memory is reclaimed (AKA “stop the world”). Some background The GC is built to handle large amounts ...

Read More »

Java Garbage Collection Distilled

java-logo

Serial, Parallel, Concurrent, CMS, G1, Young Gen, New Gen, Old Gen, Perm Gen, Eden, Tenured, Survivor Spaces, Safepoints, and the hundreds of JVM startup flags. Does this all baffle you when trying to tune the garbage collector while trying to get the required throughput and latency from your Java application? If it does then do not worry, you are not ...

Read More »

Java Just-In-Time compilation: more than just a buzzword

java-logo

A recent Java production performance problem forced me to revisit and truly appreciate the Java VM Just-In-Time (JIT) compiler. Most Java developers and support individuals have heard of this JVM run time performance optimization but how many truly understand and appreciate its benefits? This article will share with you a troubleshooting exercise I was involved with following the addition of ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.