Java Performance: The Definitive Guide


Book Description

Coding and testing are often considered separate areas of expertise. In this comprehensive guide, author and Java expert Scott Oaks takes the approach that anyone who works with Java should be equally adept at understanding how code behaves in the JVM, as well as the tunings likely to help its performance. You’ll gain in-depth knowledge of Java application performance, using the Java Virtual Machine (JVM) and the Java platform, including the language and API. Developers and performance engineers alike will learn a variety of features, tools, and processes for improving the way Java 7 and 8 applications perform. Apply four principles for obtaining the best results from performance testing Use JDK tools to collect data on how a Java application is performing Understand the advantages and disadvantages of using a JIT compiler Tune JVM garbage collectors to affect programs as little as possible Use techniques to manage heap memory and JVM native memory Maximize Java threading and synchronization performance features Tackle performance issues in Java EE and Java SE APIs Improve Java-driven database application performance




Java Performance Tuning


Book Description

Java application performance is tied pretty heavily to the underlying Java Virtual Machine, and the new 1.4 version of Java has significant changes that mean previously used performance tips and strategies may no longer work. Significantly revised and expanded, this second edition not only covers Java 1.4, but adds new coverage of JDBC, NIO, Servlets, EJB and JavaServer Pages. Suitable for intermediate and advanced Java developers, this text also covers JDBC, RMI/CORBA, Servlets, JavaServer Pages and custom tag libraries, XML, internationalization, JavaMail, Enterprise JavaBeans and performance tuning. It should be a useful resource for teaching how to create a tuning strategy, how to use profiling tools to understand a program's behaviour, and how to avoid performance penalties from inefficient code, making them more efficient and effective. The result is code that's robust, maintainable and fast.




Java Performance


Book Description

Coding and testing are generally considered separate areas of expertise. In this practical book, Java expert Scott Oaks takes the approach that anyone who works with Java should be adept at understanding how code behaves in the Java Virtual Machine—including the tunings likely to help performance. This updated second edition helps you gain in-depth knowledge of Java application performance using both the JVM and the Java platform. Developers and performance engineers alike will learn a variety of features, tools, and processes for improving the way the Java 8 and 11 LTS releases perform. While the emphasis is on production-supported releases and features, this book also features previews of exciting new technologies such as ahead-of-time compilation and experimental garbage collections. Understand how various Java platforms and compilers affect performance Learn how Java garbage collection works Apply four principles to obtain best results from performance testing Use the JDK and other tools to learn how a Java application is performing Minimize the garbage collector’s impact through tuning and programming practices Tackle performance issues in Java APIs Improve Java-driven database application performance




Java Performance


Book Description

This is the first one-stop guide to identifying, isolating, and fixing Java performance issues on multicore and multiprocessor platforms.




Optimizing Java


Book Description

"This course examines techniques and methods that you can employ to optimize your Java code and squeeze more efficiency out of your applications, You'll look at JVM subsystems, modern processor technologies and how you can best utilize them, and how to diagnose an application to find trouble areas that might be affecting its performance. This course is designed for intermediate- to advanced-level programmers."--Resource description page.




High-Performance Java Persistence


Book Description

A high-performance data access layer must resonate with the underlying database system. Knowing the inner workings of a relational database and the data access frameworks in use can make the difference between a high-performance enterprise application and one that barely crawls. This book is a journey into Java data access performance tuning. From connection management, to batch updates, fetch sizes and concurrency control mechanisms, it unravels the inner workings of the most common Java data access frameworks. The first part aims to reduce the gap between application developers and database administrators. For this reason, it covers both JDBC and the database fundamentals that are of paramount importance when reducing transaction response times. In this first part, you'll learn about connection management, batch updates, statement caching, result set fetching and database transactions. The second part demonstrates how you can take advantage of JPA and Hibernate without compromising application performance. In this second part, you'll learn about the most efficient Hibernate mappings (basic types, associations, inheritance), fetching best practices, caching and concurrency control mechanisms. The third part is dedicated to jOOQ and its powerful type-safe querying capabilities, like window functions, common table expressions, upsert, stored procedures and database functions.




Java Performance Companion


Book Description

Java® Performance Companion shows how to systematically and proactively improve Java performance with today’s advanced multicore hardware and complex operating system environments. The authors, who are all leading Java performance and Java HotSpot VM experts, help you improve performance by using modern software engineering practices, avoiding common mistakes, and applying tips and tricks gleaned from years of real-world experience. Picking up where Charlie Hunt and Binu John’s classic Java Performance left off, this book provides unprecedented detail on two powerful Java platform innovations: the Garbage First (G1) garbage collector and the HotSpot VM Serviceability Agent. Coverage includes Leveraging G1 to overcome limitations in parallel, serial, and CMS garbage collection Understanding each stage of G1 GC collections, both young and old Getting under the hood with G1 and efficiently fine-tuning it for your application Identifying potential optimizations, interpreting experimental results, and taking action Exploring the internals of the HotSpot VM Using HotSpot VM Serviceability Agent to analyze, triage, and resolve diverse HotSpot VM issues Troubleshooting out of memory errors, Java level deadlocks, and HotSpot VM crashes Extending the Serviceability Agent, and using the Plugin for VisualVM Mastering useful HotSpot VM command line options not covered in JavaTM Performance Java® Performance Companion can help you squeeze maximum performance and value from Java with JDK 8 or 9–for any application, in any environment. Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available.




Building Scalable and High-performance Java Web Applications Using J2EE Technology


Book Description

Scaling Java enterprise applications beyond just programming techniques--this is the next level. This volume covers all the technologies Java developers need to build scalable, high-performance Web applications. The book also covers servlet-based session management, EJB application logic, database design and integration, and more.




Java Performance and Scalability


Book Description

Written in Henry Liu's clear, concise style, Java Application Performance and Scalability gets right to the point. With clearly explained concepts, most pertinent theories, precise step-by-step procedures, and large volume of illustrative charts and tables with highly reliable data supporting behind, you gain quickly the necessary knowledge and skills for being able to cope with Java application performance and scalability issues without having to resort to more experienced professionals or expensive external consultants. Specifically, it helps you learn the following knowledge and skills that are essential for you to become more effective in contributing to the success of your organization:* What you need to know at minimum about the architecture of modern hardware so that you can make smart decisions on when you should pour your time on your application and when you can just throw in more advanced hardware to get by.* What you need to know about garbage collection theories in general and how they are implemented with widely used Java Virtual Machines like HotSpot JVMs.* Precise methodologies, procedures, and programs that you can start to use immediately to help you profile and tune your Java applications.* How you can design and build performance and scalability into your product proactively without having to face tough retrofitting decisions or even torrents of customer escalations later on.In addition, the book contains interesting data for your reference, associated with oops compression, CMS garbage collection tuning, DoEscapeAnalysis, G1 versus CMS comparison, etc., all based on full scale, rigorous performance and scalability tests with real products.




Java Platform Performance


Book Description

Drawing on the authors knowledge of the Java programming language and their extensive experience working on performance issues, the book reveals common mistakes and misconceptions concerning the performance characteristics of Java technologies. It offers overall development strategies and concrete, battle-tested techniques to dramatically improve the performance of applications constructed with the Java programming language. Java Platform Performance highlights the importance of integrating performance evaluation into the application development process and discusses measurement techniques. The book then presents practical tactics for enhancing application performance in the areas of I/O, RAM footprint, small object management, algorithms, data structures, Swing, and deployment. Specific topics covered include: *Incorporating performance evaluation into the development process *Profiling and benchmarking *Building scalable, fast Swing GUIs *Using high-speed I/O *Computing and controlling the RAM footprint *Reducing the number of classes *Eliminating temporary objects *Selecting high-performance algorithms and data structures *Using Java native code and applet packaging efficiently