About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Abstract
The drive to rapidly develop layered, interconnected, and flexible systems has eclipsed consideration of resource costs. Consequently, large Java applications suffer from runtime bloat: a large and pervasive infrastructure tax, where simple transactions require a few hundred thousand method calls, and a server with 1 Gbyte of memory sometimes can only support a few hundred users. Current Java optimizers and garbage collectors are of little help for these systemic problems. Enterprises face greatly reduced scalability, increased power consumption, and missed deliveries. In this article, the authors detail four global software development trends, along with some widely held myths, that lead to bloat in Java applications. They illustrate their consequences with anecdotes drawn from real applications suffering severe performance and memory issues. While these trends are inevitable, runtime bloat is not. Understanding the sources of bloat can help programmers craft appropriate solutions for the future. © 2010 IEEE.