I've just finished tuning a client's application where one of the items on the table was to find the source of calls to System.gc(). Using Censum made easy work of understanding the source of the calls. The team I was working with not only missed that these calls to System.gc() where creating havoc with their end users experience, they didn't even realize that something, some where was messing...
on Jan 27, 2015
In Eric Schmidt's presentation "How Google Works", he asks and answers the question "What's Different Now?" for businesses in the 21st century. And the answers he gives are:
1. Cloud computing puts a supercomputer in your pocket.
2. Mobile devices mean anyone can reach anyone, anywhere, anytime.
3. All the world's information and media is online.
It's worth asking how this applies to me and you,...
on Nov 13, 2014
Save 42% on Soft Skills: The software developer's life manual with discount code ssjnet14 at manning.com.
[This article excerpted from Soft Skills: The software developer's life manual.]
In one of my favorite books of all time, The War of Art, Steven Pressfield expounds upon the difference between being a professional and being an amateur:
Turning pro is a mindset. If we are struggling with...
on Oct 22, 2014
Unlock productivity is one of the bigger concerns for any person taking management role. However, people rarely agree on the best approaches to improve performance. Over the years, I have observed different managers using the opposite practices to churn out best performance of the team they are managing. Unfortunately, some works and other don't. To be more accurate, what does not increase...
on Jun 18, 2014
This is a continuation of the previous post titled (Part 1 of 3): Synopsis of articles & videos on Performance tuning, JVM, GC in Java, Mechanical Sympathy, et al.
Without any further ado, lets get started with our next set of blogs and videos, chop...chop...! This time its Martin Thompson's blog posts and talks. Martin's first post on Java Garbage...
on Feb 17, 2014
One of my favorite sessions at Jfokus 2013 was presented by Typesafe co-founder and Java Champion Jonas Bonér. I always enjoy discussions about how technology evolves over the decades, how we break away from concepts, then sometimes weave our way back via the latest and greatest thing, which can sometimes appear strikingly similar to something that was very much in vogue a decade or so earlier....
on Mar 18, 2013
There are occasions when you need to know how much space a particular data structure is taking. You may have seen my recent newsletter about Java "sizeof" implementations which allow you to do that. Finding which sizeof to use was one of my first tasks after joining Nexmo, a telecom startup (though seeing as it's already one of the global leaders in SMS volume and application-to-person messaging...
on Oct 7, 2014
Every once in a while I run into someone that has a JVM that is running back to back collections and yet the heap is still almost full after each attempt! When they discover that their problem is related to the JVM not having enough memory they often ask the question, why didn't the JVM throw an OutOfMemoryError? After all my application is not making any forward progress and the reason is Java...
on Jan 8, 2014
Could java.util.concurrent.lock.Lock use a static list of all threads that have locks and ThreadLocal locks lists to know about all in use locks and then check for incorrect order when lock() is called.
Check the ThreadLocal list and if there are no other locks then proceed.
Else if there are other locks then look through other threads to determine if any have any of the same...
on Jul 15, 2013
In the just-completed Java.net poll, most developers identified performance and scalability as being strong determinants of the success of the applications they develop. A total of 242 votes were cast in the poll. The exact question and results were:
How critical is performance/scalability to the success of the apps you develop?
45% (110 votes) - Absolutely critical - we spend lots of time...
on May 28, 2013
Robert Engels works for OptionsCity, which develops financial service platforms using Java. Their products include Freeway, a multi-asset algorithmic trading platform that won the 2012 Chicago Innovation Awards. Robert is the Chief Architect for Freeway development. If you're familiar with modern automated trading, you'll also be quite aware of the necessity to achieve maximal performance....
on May 3, 2013
Redis is a NOSQL database written in C. The Remote Dictionary Server is a key-value data base whose the storage is in memory, then the write and read will fastest way, but which difference between Redis and Cache? What does happen when the database fall down? Will we lost the all informations?
The main goal of this article is talk about the Redis and show an open source project, the redis-...
on Aug 1, 2014
When I started my career as a Java developer close to 10 years ago, the industry is going through a revolutionary change. Spring framework, which was released in 2003, was quickly gaining ground and became a serious challenger to the bulky J2EE platform. Having gone through the transition time, I quickly found myself in favour of Spring framework instead of J2EE platform, even the earlier...
on Jul 14, 2014
While parts of the cloud IT that are still being hyped are changing rapidly, the whole segment is not past the hype yet. The cloud report  that Gartner published 9 months ago still holds true today.
Reports of disillusioned customers of such solutions  are a clear sign that the hype might have reached its peak for most parts of cloud offerings, though. And while many articles discuss the...
on Mar 30, 2014
HTML Online Editor Sample
I have been contemplating for a number of months about reviewing a cache of articles and videos on topics like Performance tuning, JVM, GC in Java, Mechanical Sympathy, etc... and finally took the time to do it - may be this was the point in my intellectual progress when was I required to do such a thing!
Thanks to Attila-Mihaly for giving me the...
on Jan 17, 2014
Tuning Java code presents many challenges and addresses several goals.
One of these goals is to make the application "run faster".
Recently, our end-users were getting multiple-second response times from our web application's home page.
This was unacceptable.
We were asked to see what we can do to make the web application "run faster".
We began by looking at the usual suspects... database access...
on Apr 14, 2013
Just recently I was engaged to assist with an application that wasn’t behaving. The application, running in a 1.7.0_45 JVM, relied heavily on a 3rd party SAAS framework. That vendor provided my client with a list of 26 different JVM flags that should be set. When faced with this long list of flags I couldn’t resist asking why all the flags and why these flags. After all there are more than 700...
on Dec 11, 2013
I was very pleased to see the JFrog team take me up on my suggestion early this year that "Maybe the JFrog team will consider giving a presentation on how they put all this together at JavaOne this September". Unfortunately for me, the session (Building a Massively Scalable Cloud Service from the Ground Up) was already filled to capacity as I walked up to the door, so I was unable to attend....
on Dec 8, 2013
What happens if you configure a Hadoop-centric scalable big data infrastructure running on the Amazon EC2 cloud, that's programmed to perform some very basic processing on delimited ASCII data records (about 30 characters in each record), and you feed it a single data record? How quickly do you think that massively powerful system would process that teensy, trivial input data set? Milliseconds?...
on Sep 26, 2013
Have you wanted to do something with asynchronous I/O? I did. After doing some work with Node.js, I wanted to find a way to get some of the goodness of its programming model for Java.
The Acteur project is the result - a framework for building scalable, asynchronous web applications using Netty + Guice - was the result. The programming model is a little unusual - you treat constructors as...
on Apr 7, 2013