
JAVA 9.0 To 13.0 New Features
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews
Language
English
ISBN
9789389328608
Cover Page
Title Page
Copyright Page
Dedication
About the Author
Acknowledgement
Preface
Errata
Table of Contents
1. Insight of Versioning
Introduction
Structure
Objective
Project Green: the beginning
Versions of Java
Time-based release version
Conclusion
Questions
2. What’s New in Java 9
Introduction
Structure
Objective
Project Jigsaw
Compact profiles
Java Platform Module System
Explore module
Module types
Listing JDK modules
Java module graph
Declaring the module
requires
exports
uses
provides…with
Download Java 9
Create your first Java module
Compiling module
Executing module
Working with multiple modules
Working with Eclipse
Working with Apache NetBeans
Java Enhancement Proposals (JEP) in JSE 9.0
JEP 102: Process API updates
JEP 110: HTTP/2 Client (Incubator)
JEP 158: unified JVM logging
JEP 213: Milling Project Coin
JEP 214: remove GC combinations deprecated in JDK 8
JEP 220: modular run-time images
JEP 221: new Doclet API
JEP 222: JShell (Read-Eval-Print Loop)
JEP 238: Multi release JAR file
JEP 248: make G1 the default garbage collector
JEP 251: multi-resolution images
JEP 254: compact Strings
JEP 282: jlink, the Java linker
JEP 289: deprecate Applet API
JEP 291:deprecate the concurrent mark sweep garbage collector
Conclusion
3. Understanding JDK 10 - Step towards JDK 11
Introduction
Structure
Objective
Downloading JDK 10
JEP 286: local variable type inference
Compile time safety
Polymorphism
Working with collections & arrays
Working with traditional for loop
Working with for each loop
Working with Java streams
Working with anonymous class
Working with try-with-resources
JEP 296: consolidate the JDK forest into a single repository
JEP 304: Garbage collector interface
JEP 307: Parallel full GC for G1
JEP 310: Application class data sharing
JEP 313: Remove the native-header generation tool (javah)
JEP 314: Additional Unicode language-tag extensions
JEP 316: Heap allocation on alternate memory devices
JEP 317: experimental Java-based compiler
JEP 319: root certificates
JEP 322: time-based release versioning
API
System properties
Removed features and options
Deprecated features and options
Conclusion
Questions
4. Dive in JDK 11
Introduction
Structure
Objective
Downloading JDK11
JEP 181: nest-based access control
Change in the reflective access
JEP 309: Dynamic class-file constants
JEP 315: Improve Aarch64 intrinsic
JEP 318: Epsilon: no-op garbage collector
How to implement no-op GC
Allocation
Barriers
JEP 320: remove the Java EE and CORBA modules
JEP 321: HTTP client (standard)
JEP 323: local-variable syntax for lambda parameters
JEP 324: Key agreement with Curve25519 and Curve 448
API changes
JEP 327: Unicode 10
JEP 328: Flight recorder
JEP 329: ChaCha20 and Poly1305 cryptographic algorithms
JEP 330: Launch Single-File Source-Code Programs
Working with Shebang files
JDK 332: Transport Layer Security (TLS) 1.3
JEP 333: ZGC: scalable low-latency garbage collector (experimental)
Pointer colouring
Multimapping
Marking
Relocation
Enabling the ZGC
JEP 335: deprecate the Nashorn JavaScript Engine
Command line tool jjs
Working programmatically with Nashorn
JEP 336: deprecate the Pack200 tools and API
Conclusion
Questions
5. Migrating the Code
Introduction
Structure
Objective
Unnamed module
Jdeps tool
Override module configuration
--add-reads
--add-exports
--opens-add
Working with jLink
Multi-release JAR file
Conclusion
Questions
6. Working with JShell
Introduction
Structure
Objective
Launching JShell
Writing the code in JShell
Adding classpath to JShell
Forward references in method declaration
Working with commands in JShell
Editors
Internal Shell editing
Input text navigation
History navigation
Input modification
Searching
External editor
Feedback in JShell
Setting up the feedback:
Verbose feedback
Concise feedback
Normal feedback
Silent feedback
Customizing feedback mode
Conclusion
Questions
7. Reactive Programming and Concurrency Updates
Introduction
Structure
Objective
The reactive manifesto
Resilient
Responsive
Elastic
Message driven
Journey to be reactive
Pull and push model
Reactive streams
Reactive stream implementation for Java
RxJava
Reactor
Ratpack
Akka streams
Vert.x
Java9 reactive flow API
Publish-subscribe mechanism
Publisher
Subscriber
Subscription
The processor
Working of publisher-subscriber
Situation 1: normal publishing and subscription of items
Situation 2: cancellation of the items
Situation 3: Exception raised due to some reason
Working of publisher-processor-subscriber
Backpressure
Updates in concurrency
Conclusion
Questions
8. What’s New in Java12
Introduction
Structure
Objective
Downloading Java12
JEP 189: Shenandoah: A low-pause-time garbage collector
JEP 230: Microbenchmark suit
Microbenchmark concerns
Dead code
Constant folding
JEP 325: Switch expression
Change in expression label by using -> symbol
Multiple case labels
Returning values from switch
JEP 344: JVM Constant API
JEP 340: One AArch64 Port, not two
JEP 341: Default CDS archives
JEP 344: Abortable mixed collections for G1
JEP 346: Promptly return unused committed memory from G1
New features and enhancements
Removed features and options
Conclusion
Questions
9. Introduction to Java 13
Introduction
Structure
Objective
Downloading Java 13
JEP 350: Dynamic CDS archive
JEP 351:ZGC: uncommit unused memory
JEP 353: Reimplement the legacy socket API
JEP 354: Switch expressions (preview)
Yield statement in switch
JEP 355: Text blocks (preview)
Writing HTML
Writing SQL query string
Polyglot language example
Conclusion
Questions
Index
The book hasn't received reviews yet.