For enterprise developers, Java presents many obstacles to achieving optimal performance -- and when you factor in the challenges of scalability and integrating complex business logic, authoritative help is sorely needed. In this book, two leading Java developers -- both former members of IBM's vaunted SanFrancisco frameworks team -- offer proven techniques for maximizing the performance of any Java enterprise application-- especially those that impact Java server-side and application-server development. Just some of the topics covered include: the best techniques for identifying root causes of performance problems; problems that are inadvertent side effects of Java's strengths, such as object-orientation, garbage collection, and Java's similarities to C/C++; performance problems that can arise in distributed, n-tier development, such as the performance costs of transparency and the careful use of object affinity, placement, and granularity; the performance impacts of persistence infrastructure, distributed object infrastructure, Java Virtual Machines, and application-layer components -- presenting powerful benchmarking techniques that can be used to choose the best possible options. Four full chapters address key real-world Java-related projects and the performance issues associated with them. The coverage includes IBM's SanFrancisco project; the Enterprise JavaBeans programming model and specific EJB servers; CORBA, and Jini. The book also includes detailed coverage of system tuning, memory, disk, and network configuration; the impact of multiprocessors and network clustering; and replication issues in shared, large-scale environments.M ARKET:For every enterprise developer working with Java.