This book is concerned with the issues and matters that relate to the reliability, availability, manageability, performance, scalability, and secured-ability of applications, particularly the ones that run over the Web. The importance of studying and exploring such issues is obvious.
Shortly after joining IBM Canada in 1997, I was introduced to an early release of the Java programming language, the SUN JDK 1.1.6. At that time, I was a member of the High-Performance Java team whose mission was to develop a tool for compiling the Java platform-independent pseudo code (.class) into platform-dependent executable modules (.exe). The tool was then named “High-Performance Java Accelerator”. Things started well at the beginning; average win over the SUN JDK 1.1.6 was 300% speedup in terms of execution time. However, after SUN released the JDK 1.1.8, the previous win vanished. The average win of the accelerator-produced executables over the JDK 1.1.8 could not exceed the 10% speedup margin. That loss was simply due to the tremendous improvement made by SUN on their Java Just-In-Time (JIT) compiler. As a result, IBM decided to discontinue the project, but continued to support the few customers who leased licenses of the accelerator shortly after its release at the JDK 1.1.6 level.