A synopsis of blog posts, videos, talks, presentations on topics like Performance tuning, JVM, GC in Java, Mechanical Sympathy, et al by experts from the industry - continuation from the previous post, see http://www.dzone.com/links/r/part_1_of_3_synopsis_of_articles_amp_videos_on_pe.html.
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. So...
Sometimes, life drops a house on your code. Sometimes, it's flying monkeys. Most of the time though, the damn stuff just stops working and it's nothing so obvious as being crushed by a Kansas farmhouse or being carried away by winged primates.
For this last common case, there are a good number of great tools to help you out. JMeter may help you to reproduce the conditions under load, while...
The results of the latest completed Java.net poll indicate that, in general, developers consider the addition of Lambda Expressions (closures) to Java (which will happen in Java 8) to be a good idea. However, opinion is not universally in this direction...
A synopsis of blog posts, videos, talks, presentations on topics like Performance tuning, JVM, GC in Java, Mechanical Sympathy, et al by experts from the industry.
I'll be covering three reviews of talks by Attila Szegedi (1 talk) and Ben Evans (2 talks). They speak on the subject of Java Performance and the GC. The first talk by Attila covers a lot of his experience as an Engineer at Twitter - so its lots of information out of live experience in the field on production systems. Making use of thin objects instead of fat ones is one of the buzzwords in his talk.
Ben in his two talks covers Performance, JVM and GC in great depth. He points out about people's misconception about Performance, the JVM and GC, things that people don't have certain run-time flags enabled in production. How the underlying machinery works, why it works the way it works?How efficient the machinery is and what best to do and not to do to get good throughput out of it?
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...
Nowadays there are too many NOSQL database, with different architecture and data structure. However with much variety they share one thing in common: Only search information from the keys. A good option is uses other service to help the NOSQL databases. In this post will how the Lucene does work together a NOSQL database, join two world in one application.
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?
In memory computation in Hadoop will great enhance data processing speed and volume.
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.
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...
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...
Samplr is an open source, smart sampling profiler that can be embedded into any Java application for automatic identification of performance bottlenecks
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 product flags defined in the JVM and to be honest, I’ve only a vague idea of the effect may have on a runtime.
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...
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? ...
Acteur - a framework for building scalable, asynchronous web applications using Netty + Guice with an interesting programming model
More than a few days ago a friend pinged me complaining that recent Eclipse release was quite sluggish. Since she had taken my performance tuning seminar she knew exactly how to get and read a GC log but as we all do, she was looking for a second opinion. After looking at the log for a minute it because quite apparent that the default configuration left the IDE starved for memory. After a bit more analysis we came to the conclusion that it is very likely that the 4.2 version of Eclipse is suffering from a memory leak. I thought I’d jot down a few notes about the process that led us to that conclusion.
Enterprise Content Management (ECM) repositories often have a lot of types defined, sometimes hundreds in extreme cases. This means that there needs to be a way to organize and retrieve them in a scalable fashion. Some repository designs treat these type collections as a large flat list, while others treat them as a hierarchy. This article based on a portion of chapter 4 from CMIS and Apache Chemistry in Action covers type collections and how to navigate, retrieve, and examine them with two code examples showing basic techniques for each. The code examples assume the reader has the Apache Chemistry Workbench running, and that they have access to a public or local CMIS repository. If you would like step-by-step instructions for setting up these prerequisite tools please read Chapter 1 of the book which is a free download from Manning available at the book link. All of the code in this article is written in Groovy and can be executed exactly as shown in the Console window of the Apache Chemistry Workbench.
New JVM 7.0 flags to enable and configure GC log file rotation