Developer's Reading List
, January 24, 2012 The latest books off the press cover code readability, Java performance, hunting for and prying open security defects, game testing, architecture, and even OpenVMS.
Java Performance
Charlie Hunt and Binu John
Addison-Wesley
A detailed, comprehensive explanation of measuring and improving Java performance. The book starts with descriptions of the principal factors that affect performance on the JVM. It then shows how to measure the performance and tease out the various causes through specific benchmarks. More than half the book is devoted to tuning the JVM and the applications to squeeze out the maximum performance. This information is relayed with tips and techniques, as well as deep dives into the various tools and JVM options that are currently available (and, it appears, little-known). The appendices provide extensive coverage of JVM options and present source code with illustrative techniques of performance refinement that are possible.
This book is, without a doubt, the most comprehensive treatment of Java performance. My only frustration with it is that it covers only Oracle technologies. So, only the HotSpot JVM is discussed (although many of the techniques are clearly applicable to other JVMs) and only Oracle’s Java servers. The more than occasional references to Solaris were also a bit annoying. But these limitations aside, this is an excellent treatment and worthy of a place on the bookshelf of most Java developers. Highly recommended. — Andrew Binstock
| To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy. | |
Best of the Web
What the New iPad and iOS 5.1 Mean for Developers
The new display is gorgeous. But local storage for HMTL5 is currently broken on the new iPad and performance of some apps is slower. Here's a deep dive into the issues, including benchmarks and analysis.
Triple Buffering as A Concurrency Mechanism
Triple Buffering is a way of passing data between a producer and a consumer running at different rates. It ensures that the consumer sees only complete data with minimal lag.
Embedding GDB Breakpoints in C Source Code
Have you ever wanted to embed GDB breakpoints in C source code? Something like this:
printf("Hello,\n");
EMBED_BREAKPOINT;
printf("world!\n");
Writing Kernel Exploits
Why attack the kernel? Because it has a huge attack surface with potential for very interesting bugs. This presentation (pdf) takes a code-level dive into recently reported Linux-kernel exploits.


