Cargando…

Java 11 and 12 - New Features : Learn about Project Amber and the Latest Developments in the Java Language and Platform.

This book is a concise source to keep you updated about the released and upcoming changes in the core Java language. It covers version 10, 11, and various projects at Oracle, which every Java enthusiast will know about. You will learn to write better code and make informed decisions to choose new fe...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Gupta, Mala
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing Ltd, 2019.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Section 1: JDK 10; Chapter 1: Type Inference; What is type inference?; Type inference with var; Compulsory non-null initialization; Local variables; Code check
  • part 1; Using var with primitive data types; Type inference with derived classes; Type inference with interfaces; Using var with arrays; Type inference with generics; Code check
  • part 2; Passing inferred variables to a method; Reassigning values to inferred variables; Explicit casting with inferred variables
  • Assigning null with explicit castingType inference in previous versions of Java; Type inference in Java 5; Type inference in Java 7; Type inference in Java 8; Challenges; Limiting the scope of failed assumptions; Breaking existing code; Non-denotable types; Meaningful variable names; Code refactoring; Type inference versus dynamic binding; Summary; Chapter 2: AppCDS; Technical requirements; What is CDS?; Location of the shared archive file; Manual creation of classes.jsa; Usage of CDS; AppCDS; Benefits of AppCDS; Enabling application class data archive; Which application classes to archive
  • Creating an application shared archive fileUsing the shared application archive file; Summary; Chapter 3: Garbage Collector Optimizations; Technical requirements; The GC interface ; Benefits; Driving factors; Impact; Parallel full GC for G1 (JEP 307); The design goals of G1 GC; G1 memory; Sample code; Understanding G1 GC logs; Summary; Chapter 4: Miscellaneous Improvements in JDK 10; Technical requirements; Mapping JDK 10 features with scopes and JEPs; Consolidating the JDK forest into a single repository; Thread-local handshakes; Removal of the Native-Header Generation Tool (javah)
  • Additional Unicode language-tag extensionsHeap allocation on alternative memory devices; The experimental Java-based JIT compiler; Root certificates; Time-based release versioning; Summary; Section 2: JDK 11; Chapter 5: Local Variable Syntax for Lambda Parameters; Technical requirements; Lambda expressions; Explicitly-typed lambda expressions; Implicitly-typed lambda expressions; Lambda parameters and type inference with var; Adding var to lambda parameters; Adding annotations to lambda parameters; Summary; Chapter 6: Epsilon GC; Technical requirements; The motivation behind Epsilon GC
  • Features of EpsilonLatency and application performance; GC-induced overheads versus system overheads; Extremely short-lived work; Getting started with the HelloEpsilon GC class; Which memory area does GC collect
  • stack or heap?; Memory pressure testing with Epsilon; Designing a garbage-free application; VM interface testing; Summary; Chapter 7: The HTTP Client API; Technical requirements; A quick flashback; What can you do with HTTP?; The need for the HTTP Client API; HTTP Client usage; A basic example; The HttpClient class ; Creating an HttpClient instance; Methods of the HttpClient class