Java 9 High Performance.
Best practices to adapt and bottlenecks to avoid About This Book Tackle all kinds of performance-related issues and streamline your development Master the new features and new APIs of Java 9 to implement highly efficient and reliable codes Gain an in-depth knowledge of Java application performance a...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Otros Autores: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing,
2017.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright
- Credits
- About the Authors
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Learning Java 9 Underlying Performance Improvements
- Introducing the new features of Java 9
- Modular development and its impact
- Quick introduction to modules
- String operations performance
- Compact string
- The world of heap
- Why bother compressing strings?
- What did they do?
- What is the escape route?
- What is the performance gain?
- Indify String ConcatenationInvokedynamic
- Storing interned strings in CDS archives
- Concurrency performance
- Compiler improvements
- Tiered Attribution
- Ahead-of-Time compilation
- Security manager improvements
- Graphics rasterizers
- Summary
- Chapter 2: Identifying Performance Bottlenecks
- CPU infrastructure
- Memory utilization
- Java heap
- Java stack
- Java heap versus stack memory
- Escape analysis
- Common memory problems
- OutOfMemory
- Mismanagement of object life cycle: java.lang. OutOfMemoryError: Java heap space
- Java.lang. OutOfMemoryError: GC Overhead limit exceededjava.lang. OutOfMemoryError: Permgen space
- java.lang. OutOfMemoryError: Metaspace
- java.lang. OutOfMemoryError: Unable to create new native thread
- java.lang. OutOfMemoryError: request size bytes for reason
- java.lang. OutOfMemoryError: Requested array size exceeds VM limit
- Out of memory: kill process or sacrifice child
- StackOverFlow
- Database operations
- I/O operations
- Network operations
- WebSocket Client API
- Summary
- Chapter 3: Learning How to Troubleshoot Code
- Measuring performancePerformance checklist
- Basic principles of troubleshooting
- Why some developers find troubleshooting difficult?
- Setting up the environment for troubleshooting
- Importance of error handling
- A basic try-catch-finally block and its usages
- What are try-catch-finally blocks?
- Usage of try-catch-finally blocks
- Mistakes programmers make when using error handling
- Why swallowing exception is bad?
- Use of logging
- Logging vs Debugging
- What are the main components?
- How to do logging?
- What logging frameworks are available?Java Util Logging
- Log4j 2
- Logback
- Performance
- Support
- Ease of Use
- Best use case for logging
- Analyzing thread dump
- What is a thread dump?
- Benefits of thread dump analysis
- How to collect a thread dump
- How to analyze a thread dump
- Best practices
- Analyzing heap dump
- What is a heap dump
- Benefits of analyzing heap dumps
- When do you analyze a heap dump
- How to collect heap dump
- How to analyze heap dump
- Best practices
- Summary