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

Author Archives: Nikita Salnikov Tarnovski

Performance tuning – measure don’t guess

software-development-2-logo

In my performance tuning career I have given the advice to measure and not guess more often than I can recall. And in many cases the target of this advice has given up after looking at the monolithic 500,000 LOC legacy application they are working. In the post we are about to share some simple tools and concepts how to ...

Read More »

RMI enforcing Full GC to run hourly

java-logo

During all the troubleshooting exercises I have carried out in my career, I have picked up a feeling that the bugs I am after are evolving and becoming meaner and uglier over time. Or maybe it is just my age kicking in. This particular Heisenbug – lookalike this post is about has again kept me awake for more than I ...

Read More »

Throughput and latency: performance tuning made simple

software-development-logo

Many of our previous topics have measured the behaviour of certain systems in terms of either latency or throughput. As it can be confusing to understand what either of the term actually stands for, I decided to write a post explaining the terms in performance optimization standpoint. Let us start with an example to illustrate the concepts. As we are ...

Read More »

G1 vs CMS vs Parallel GC

java-logo

This post is following up the experiment we ran exactly a year ago comparing the performance of different GC algorithms in real-life settings. We took the same experiment, expanded the tests to contain the G1 garbage collector and ran the tests on different platform. This year our tests were run with the following Garbage Collectors: -XX:+UseParallelOldGC -XX:+UseConcMarkSweepGC -XX:+UseG1GC Description of ...

Read More »

What Garbage Collector are you using?

java-logo

Our research labs are humming at full speed. With the recent injection of capital, we can only warrant that the pace at which we keep innovating will only increase. Part of the research we conduct is related to GC optimizations. While dealing with the problems in this interesting domain, we thought to share some insights to GC algorithm usage. For ...

Read More »

Would you dare to change HashMap implementation?

java-logo

There are bold engineers working for the Oracle nowadays. I came to this conclusion when trying to nail down a Heisenbug yesterday. Not too surprisingly, the bug seemed to disappear when I was trying to find the solution. Several hours later, the “Heisen”-part of the bug was removed, when the problem was traced down to minor differences between the JDK7 ...

Read More »

How is ThreadLocal implemented?

java-logo

This is a follow-up to my last week post, where I explained the motivation behind ThreadLocal usage. From the post we could recall that ThreadLocal is indeed a cool concept if you wish to have an independently initialized copy of a variable for each thread. Now, the curious ones might have already started asking “how could I implement such a ...

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 »

When and how to use a ThreadLocal

java-logo

As our readers might already have guessed, I deal with memory leaks on a daily basis. A particular type of the OutOfMemoryError messages has recently started catching my attention – the issues triggered by misused ThreadLocals have become more and more frequent. Looking at the causes for such leakages, I am starting to believe that more than half of those ...

Read More »

How to use Asynchronous Servlets to improve performance

java-interview-questions-answers

This post is going to describe a performance optimization technique applicable to a common problem related to modern webapps. Applications nowadays are no longer just passively waiting for browsers to initiate requests, but want to start the communication themselves. A typical example could involve chat applications, auction houses, etc – the common denominator being the fact that most of the ...

Read More »
Do you want to know how to develop your skillset and become a ...

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!
Get ready to Rock!
To download the books, please verify your email address by following the instructions found on the email we just sent you.

THANK YOU!

Close