Cargando…

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...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Ramgir, Mayur
Otros Autores: Samoylov, Nick
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