Home » Author Archives: Nikita Salnikov Tarnovski (page 3)

Author Archives: Nikita Salnikov Tarnovski

Understanding volatile via example

java-logo

We have spent last couple of months stabilizing the lock detection functionality in Plumbr. During this we have stumbled into many tricky concurrency issues. Many of the issues are unique, but one particular type of issues keeps repeatedly appearing. You might have guessed it – misuse of the volatile keyword. We have detected and solved bunch of issues where the ...

Read More »

Identifying JVM – trickier than expected

java-logo

In Plumbr we have spent the last month by building the foundation for future major improvements. One of such building blocks was addition of the unique identifier for JVM in order to link all sessions from the same JVM together. While it seems a trivial task at the beginning, the complexities surrounding the issue start raising their ugly heads when ...

Read More »

Debugging to understand Finalizers

java-logo

This post is covering one of the Java built-in concepts called Finalizer. This concept is actually both well-hidden and well-known, depending whether you have bothered to take a look at the java.lang.Object class thoroughly enough. Right in the java.lang.Object itself, there is a method called finalize(). The implementation of the method is empty, but both the power and dangers lie ...

Read More »

Building a nirvana

software-development-2-logo

What started out three years ago as in a form of a single ANT file has grown into literally a hundred of build tasks taking more than eight hours to complete from start to finish on sequential run. In this post we describe some of the tools and techniques we have applied into our build infrastructure.         ...

Read More »

Migrating from javaagent to JVMTI: our experience

java-logo

When you need to gather data from within the JVM, you will find yourself working dangerously close to the Java Virtual Machine internals. Luckily, there are ways you can avoid getting bogged down by JVM implementation details. The fathers of Java have given you not one but two beautiful tools to work with. In this post we will explain the ...

Read More »

Allocating memory for the JVM: a case study

java-logo

This post is about a recent performance tuning exercise. As always, these start with vague statements about symptoms. This time the devil took the form of “The application is slow and we do not have the access to source code. What are our options to improve the situation”. A closer look to the application revealed it consisting of several batch ...

Read More »

Creating software for sysops – make sure you do not suck

software-development-2-logo

Plumbr is all about detecting performance problems from within Java applications. Whether this application is residing in a desktop machine under developer’s desk or hidden in a production vault guarded by the Bastard Operator From Hell – does not matter. We have designed our software to cover both ends of the spectrum. Or so we thought. Past few months have ...

Read More »

OutOfMemoryError: solution antipatterns

java-logo

Throughout those years we have kept a close eye on the problems packaged in different flavours of OutOfMemoryError message. Daily digests on new questions on specific keywords via specialised services such as the Google Alerts have given us a good overview about the situations where applications fail with the java.lang.OutOfMemoryError in logs. The people facing the problem tend to fall ...

Read More »

How to estimate memory consumption?

java-logo

This story goes back at least a decade, when I was first approached by a PHB with a question “How big servers are we going to need to buy for our production deployment”. The new and shiny system we have been building was nine months from production rollout and apparently the company had promised to deliver the whole solution, including ...

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.