List/Grid Author Archives Subscribe to the RSS feed of Nikita Salnikov-Tarnovski

How to create a memory leak
This is going to be a rather evil post – something you will be googling when you really wish to make someone’s life a misery. In the world of Java development memory leaks are just ...

There is no application server
We have recently posted data about application server market share we gathered from the free Plumbr deployments. And it resonated well – via different channels we got hundreds of ...

Hunting down memory leaks: a case study
A week ago I was asked to fix a problematic webapp suffering from memory leaks. How hard can it be, I thought – considering that I have both seen and fixed hundreds of leaks over ...

Common pitfalls in benchmarking
Every once in awhile each and every one of us is trying to measure performance of certain parts of the code. It can be either a fully functional application measured against specific ...

How expensive is a method call in Java
We have all been there. Looking at the poorly designed code while listening to the author’s explanations about how one should never sacrifice performance over design. And you just ...

How to shoot yourself in foot with ThreadLocals
It will start nicely. Like most of the stories. You discover a new concept and are amazed by it’s powers. And then equipped with this new hammer suddenly everything starts to look ...

How many threads do I need?
It depends on your application. But for those who wish to have some insight about how to squeeze out most from all those expensive cores you have purchased for your production site ...

Why can’t I turn off the Garbage Collector?
Let’s start with a quick rewind to the early days of my career as a Java developer. I wanted to eliminate Garbage Collection (GC) pauses from a test that I was conducting. Lo and ...

Making the right decisions when optimizing code
You have an optimization task at hand. Which is great – you finally have the possibility to do something interesting instead of implementing yet another invoice processing screen. The ...

Should you trust the default settings in JVM?
JVMs are considered smart nowadays. Not much configuration is expected – just set the maximum heap to use in the startup scripts and you should be good to go. All other default settings ...



