Java 9.0 to 13.0

Lessons
Lab
TestPrep
AI Tutor (Add-on)
Get A Free Trial

About This Course

Skills You’ll Get

1

Preface

2

Insight of Versioning

  • Introduction
  • Project Green: the beginning 
  • Versions of Java
  • Time-based release version
  • Conclusion
  • Questions
3

What’s New in Java 9

  • Introduction
  • Project Jigsaw
  • Compact profiles
  • Java Platform Module System
  • Explore module
  • Module types
  • Listing JDK modules
  • Java module graph
  • Declaring the module
  • 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
4

Understanding JDK 10-Step towards JDK 11

  • Introduction 
  • 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 
5

Dive in JDK 11

  • Introduction
  • 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
  • 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
6

Migrating the Code

  • Introduction
  • Unnamed module
  • Jdeps tool
  • Override module configuration
  • --add-reads
  • --add-exports
  • --opens-add
  • Working with jLink
  • Multi-release JAR file
  • Conclusion
  • Questions
7

Working with JShell

  • Introduction
  • 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
  • External editor
  • Feedback in JShell
  • Setting up the feedback:
  • Conclusion
  • Questions
8

Reactive Programming and Concurrency Updates

  • Introduction
  • The reactive manifesto
  • Resilient
  • Responsive
  • Elastic
  • Message driven
  • Journey to be reactive
  • Pull and push model
  • Reactive streams
  • Reactive stream implementation for Java
  • 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
9

What’s New in Java12

  • Introduction
  • Downloading Java12
  • JEP 189: Shenandoah: A low-pause-time garbage collector
  • JEP 230: Microbenchmark suit
  • Microbenchmark concerns
  • 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
10

Introduction to Java 13

  • Introduction
  • 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

Related Courses

All Course
scroll to top