Home » Tag Archives: Performance (page 3)

Tag Archives: Performance

Top 5 Java Performance Tuning Books – Best of Lot, Must read

java-logo

Why Java developer should read a book on Performance tuning? When I first faced this question long time back, I thought I will do it later, but I never get back to that for a long time. I realize my mistake of having lack of knowledge on performance measurement, tuning and finding bottleneck only when I faced serious performance and ...

Read More »

Locking and Logging

software-development-2-logo

Plumbr has been known as the tool to tackle memory leaks. As little as two months ago we released GC optimization features. But we have not been sitting idle after this – for months we have been working on lock contention detection. From the test runs we have discovered many awkward concurrency issues in hundreds of different applications. Many of ...

Read More »

Performance Tuning of Spring/Hibernate Applications

jboss-hibernate-logo

For most typical Spring/Hibernate enterprise applications, the application performance depends almost entirely on the performance of it’s persistence layer. This post will go over how to confirm that we are in presence of a ‘database-bound’ application, and then walk through 7 frequently used ‘quick-win’ tips that can help improve application performance. How to confirm that an application is ‘database-bound’ To ...

Read More »

ClassNotFoundException: is it slowing down your JVM?

java-logo

Most Java developers are familiar with the infamous and very common java.lang.ClassNotFoundException. While the sources of this problem are generally well understood (missing classes/libraries in classpath, class loader delegation problems etc.), the impact to the overall JVM and performance is often unknown. This situation can lead to significant impacts to your application response time and scalability. Large Java EE enterprise ...

Read More »

How (NOT TO) measure latency

software-development-2-logo

Latency is defined as time interval between the stimulation and response and is a value which is of importance in many computer systems (financial systems, games, websites, etc). Hence we – as computer engineers – want to specify some upper bounds / worst case scenarios for the systems we build. How can we do this? The days of counting cycles ...

Read More »

Caching best practices

software-development-2-logo

Introduction There is an irresistible attraction to writing custom caching solutions, since it seems to be the easiest path to “improving” the overall application performance. Well, caching is a great technique, but there are few steps to consider before even considering it. Best practices       A key/value collection is not a Cache Almost all projects I worked on ...

Read More »

The regex that broke a server

software-development-2-logo

I’ve never thought I would see an unresponsive server due to a bad regex matcher but that’s just happened to one of our services, yielding it it unresponsive. Let’s assume we parse some external dealer car info. We are trying to find all those cars with “no air conditioning” among various available input patterns (but without matching patterns such as ...

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 get faster with AtomicLong? Make it wait.

java-logo

I often hear that Java atomic types (java.util.concurrent.atomic) are super-fast and play nicely with highly concurrent code. Most of the time, atomics do their job in a robust and efficient manner. However, there are scenarios in which the hidden cost of unmanaged contention on atomic types becomes a serious performance issue. Let’s take a look at how  java.util.concurrent.atomic.Atomic* types are ...

Read More »

How to serialize an array of doubles with a byte (binary delta encoding for low-varianced monotonic sets of floating point data)

java-logo

Low latency systems require high performance message processing and passing. As in most cases data has to be transfered over the wire or serialised for persistence, encoding and decoding messages become a crucial part of the processing pipeline. The best results in high performance data encoding usually involve applying knowledge of application data specifics. The technique presented in this article ...

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.