Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Java 9: Building Robust Modular Applications

You're reading from   Java 9: Building Robust Modular Applications Master advanced Java features and implement them to build amazing projects

Arrow left icon
Product type Course
Published in Apr 2018
Publisher Packt
ISBN-13 9781788832823
Length 910 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (3):
Arrow left icon
Dr. Edward Lavieri Jr. Dr. Edward Lavieri Jr.
Author Profile Icon Dr. Edward Lavieri Jr.
Dr. Edward Lavieri Jr.
Jason Lee Jason Lee
Author Profile Icon Jason Lee
Jason Lee
Peter Verhas Peter Verhas
Author Profile Icon Peter Verhas
Peter Verhas
Arrow right icon
View More author details
Toc

Table of Contents (33) Chapters Close

Title Page - Courses
Packt Upsell - Courses
Preface
1. The Java 9 Landscape FREE CHAPTER 2. Discovering Java 9 3. Java 9 Language Enhancements 4. Building Modular Applications with Java 9 5. Migrating Applications to Java 9 6. Experimenting with the Java Shell 7. Leveraging the New Default G1 Garbage Collector 8. Microbenchmarking Applications with JMH 9. Making Use of the ProcessHandle API 10. Fine-Grained Stack Tracing 11. New Tools and Tool Enhancements 12. Concurrency and Reactive Programming 13. Security Enhancements 14. Command Line Flags 15. Best Practices In Java 9 16. Future Directions 17. Introduction 18. Managing Processes in Java 19. Duplicate File Finder 20. Date Calculator 21. Sunago - A Social Media Aggregator 22. Sunago - An Android Port 23. Email and Spam Management with MailFilter 24. Photo Management with PhotoBeans 25. Taking Notes with Monumentum 26. Serverless Java 27. DeskDroid - A Desktop Client for Your Android Phone 28. What is Next? 1. Bibliography
Index

Index

A

  • Abstract Syntax Trees (ASTs) / Compiler tree API
  • Abstract Windows Toolkit (AWT) / Caciocavallo
  • access-control boundary violations
    • about / Access-control boundary violations
    • runtime / Runtime
  • Access Management Console
    • reference / Creating a role
  • Acorn RISC Machine (ARM) / The Linux/AArch64 port
  • actions
    • performing / Performing Actions
  • additional concurrency updates
    • about / Additional Concurrency Updates
    • Java concurrency / Java concurrency
    • CompletableFuture API enhancements / CompletableFuture API enhancements
  • ALPN (Application Layer Protocol Negotiation) / TLS application-layer protocol negotiation extension
  • Amazon Web Services (AWS) / Getting started
  • Android
    • data access / Android data access
    • tabs and fragments / Android tabs and fragments
  • Android developer
    • documentation link / Getting started
  • Android development environment
    • setting up / Getting started
  • Android project
    • starting with / Getting started
    • creating / Creating the Android project
    • permissions, requesting / Requesting permissions
    • service, creating / Creating the service
  • Android services
    • interacting with / Android services
  • Android Studio
    • reference / Getting started
  • Android user interfaces
    • building / Building the user interface
  • AnnotatedConstruct interface / The AnnotatedConstruct interface
  • ANTLR parser / Compiler Grammar
  • application module path / Module paths
  • assets
    • listing / Listing your assets
  • Atomic Toolkit
    • working with / Working with the AtoMiC Toolkit
  • Authenticated Encryption with Associated Data (AEAD) / DTLS support in Java 9
  • Authority Info Access (AIA) / Changes for the Java 9 platform
  • authorization requests
    • authorization request, handling / Handling authorization requests
    • client, authorizing / Authorizing the client

B

  • BeanInfo annotations [JEP-256]
    • about / BeanInfo annotations [JEP-256]
    • JavaBean / JavaBean
    • BeanProperty / BeanProperty
    • SwingContainer / SwingContainer
  • BeanInfo classes
    • about / BeanInfo classes
    • benefits / BeanInfo classes
  • BeanProperty
    • about / BeanProperty
    • optional elements / BeanProperty
  • benchmarking options
    • about / Benchmarking options
    • modes / Modes
    • time units / Time units
  • Berkeley Packet Filters (BPF) / Provide stable USDT probe points on JVM compiled methods
  • best practices, Java 9
    • support for UTF-8 / Support for UTF-8
    • Unicode 7.0.0 / Unicode 7.0.0
    • Linux/AArch64 port / The Linux/AArch64 port
    • multi-resolution images / Multi-resolution Images
    • Common Locale Data Repository (CLDR) / Common Locale Data Repository (CLDR)

C

  • camel case search / Introducing camel case search
  • Cascading Style Sheets (CSS) / Preparing JavaFX UI controls and CSS APIs for modularization [JEP 253]
  • CDI
    • dependency injection, using / Dependency injection with CDI
  • CDS archives [JEP 250]
    • interned strings, storing / Storing interned strings in CDS archives [JEP 250]
  • Ceylon
    • about / Ceylon
    • URL / Ceylon
  • C header files / C header files
  • Class Data Sharing (CDS) / Storing interned strings in CDS archives [JEP 250]
  • classes
    • updated, in Java 9 / Updated Classes in Java 9
    • accessing / Accessing classes
  • CLI
    • building / Building the CLI
  • clock
    • about / Clock
    • Instant / Instant
    • LocalDate / LocalDate
    • LocalTime / LocalTime
    • LocalDateTime / LocalDateTime
    • ZonedDateTime / ZonedDateTime
  • cloud notification / Planning the application
  • CMS garbage collection / Default garbage collection
  • collection literals
    • reference link / Convenience factory methods for collections [JEP-269]
    • benefits / Convenience factory methods for collections [JEP-269]
  • collections [JEP-269]
    • factory methods, used for / Convenience factory methods for collections [JEP-269]
    • using, before Java 9 / Using collections before Java 9
    • new collection literals, using / Using new collection literals
  • command-line interface
    • building / Building the command-line interface, Building the command-line interface
  • command line flags
    • unified JVM logging [JEP 158] / Unified JVM Logging [JEP 158]
    • compiler control [JEP 165] / Compiler control [JEP 165]
    • diagnostic commands [JEP 228] / Diagnostic commands [JEP 228]
    • heap profiling agent [JEP 240] / Heap profiling agent [JEP 240]
    • JHAT [JEP 241], removing / Removing your JHAT [JEP 241]
    • JVM command-line flag argument validation [JEP 245] / JVM command-line flag argument validation [JEP 245]
    • older platform versions [JEP 247], compiling for / Compile for older platform versions [JEP 247]
  • Common Locale Data Repository (CLDR) / Common Locale Data Repository (CLDR)
  • communication protocol / Datagram Transport Layer Security
  • compact strings [JEP 254]
    • about / Compact strings [JEP 254]
    • pre-Java 9 status / Pre-Java 9 status
    • Java 9, updates / New with Java 9
  • compare-and-swap (CAS) / Concurrent monitor deflation
  • compilation module path / Module paths
  • compiler control [JEP 165]
    • about / Compiler control [JEP 165]
    • compilation modes / Compilation modes
    • C1 compilation mode / C1 compilation mode
    • C2 compilation mode / C2 compilation mode
    • tiered compilation / Tiered compilation
    • compiler control, in Java 9 / Compiler control in Java 9
  • compiler tree API
    • enums / Compiler tree API
    • interfaces / Compiler tree API
  • compile time / Ceylon
  • CompletableFuture API enhancements / CompletableFuture API enhancements
  • CompleteableFuture*T* class
    • about / Class details
    • enhancements / Enhancements
  • concurrent Java
    • using, with Future interface / Concurrent Java with a Future interface
  • concurrent mark sweep (CMS) / Concurrent mark sweep (CMS) garbage collection, Garbage collection options, Parallelize the Full GC Phase in CMS
  • constant folding
    • eliminating / Eliminating dead-code and constant folding
    • about / Eliminating dead-code and constant folding
  • contended locking [JEP 143]
    • about / Improved Contended Locking [JEP 143]
    • goals, improving / Improvement goals
  • ControlDaemon class / The ControlDaemon class
  • CPU instructions
    • leveraging, for RSA / Leveraging CPU instructions for GHASH and RSA
    • leveraging, for GHASH / Leveraging CPU instructions for GHASH and RSA
  • critical sections [JEP 270]
    • stack areas, reserved / Reserved stack areas for critical sections [JEP 270]
  • CSS APIs
    • preparing, for modularization [JEP 253] / Preparing JavaFX UI controls and CSS APIs for modularization [JEP 253]
  • current process
    • PID, obtaining / Getting the PID of the current process

D

  • @Deprecated annotation / What the @Deprecated annotation really means
  • Database as a Service (DBaaS) / Getting started
  • datagram / Datagram Transport Layer Security
  • Datagram Transport Layer Security (DTLS)
    • about / Datagram Transport Layer Security
    • supporting, in Java 9 / DTLS support in Java 9
    • security, considerations / DTLS support in Java 9
  • data streams / Reactive Programming
  • date calculator
    • creating / Getting started
  • dead-code
    • eliminating / Eliminating dead-code and constant folding
    • about / Eliminating dead-code and constant folding
  • decoupled functionality
    • exposing / Services - exposing decoupled functionality
    • PhotoViewerTopComponent / PhotoViewerTopComponent
    • NetBeans preferences / NetBeans preferences and the Options panel
    • Options panel / NetBeans preferences and the Options panel
  • default methods / Back to our code
  • dependency injection (DI)
    • about / Adding MongoDB
    • with CDI / Dependency injection with CDI
  • depreciation warnings
    • suppressing, on import statements [JEP 211] / Eliding depreciation warnings on import statements [JEP 211]
  • desktop application
    • creating / Creating the desktop application
    • user interface, defining / Defining the user interface
    • user interface behavior, defining / Defining user interface behavior
    • messages, sending / Sending messages
    • updates, obtaining / Getting updates
    • security / Security
  • Deterministic Random Bit Generator (DRBG)
    • about / DRBG-based SecureRandom implementations
    • reference link / DRBG-based SecureRandom implementations
  • development tools
    • about / Development tools
    • deployment tool / Deployment
    • internationalization tool / Internationalization
    • monitoring tool / Monitoring
    • RMI tools / RMI
    • security tool / Security
    • troubleshooting tool / Troubleshooting
    • web services tool / Web services
  • diagnostic commands [JEP 228] / Diagnostic commands [JEP 228]
  • diamond operator
    • using / Using the diamond operator
    • about / Using the diamond operator
  • Disk And Execution Monitor (daemons) / Building the service
  • Distributed Services level / REST APIs for JMX
  • Doclet API
    • pre-existing, issues / Problems with the pre-existing Doclet API
  • Doclet API, Java 9
    • about / Java 9's Doclet API
    • compiler tree API / Compiler tree API
    • language model API / Language model API
  • Doclet API [JEP-221]
    • simplifying / Simplified Doclet API [JEP-221]
    • pre-Java 9 Doclet API / The pre-Java 9 Doclet API
  • Doclint warning [JEP 212]
    • resolving / Resolving Lint and Doclint warnings [JEP 212]
    • reference link / Resolving Lint and Doclint warnings [JEP 212]
  • documented set / The pre-Java 9 Doclet API
  • Document Object Model (DOM) / Merging selected Xerces 2.11.0 updates into JAXP [JEP 255]
  • Dolphin Platform
    • reference / Getting started
  • DPI-aware application / HiDPI graphics on Windows and Linux [JEP 263]
  • DPI-unaware application / HiDPI graphics on Windows and Linux [JEP 263]
  • DRBG-Based SecureRandom Implementations / DRBG-based SecureRandom implementations
  • DRY (Don't Repeat Yourself) / Getting started
  • DTLS protocol version 1.0 / DTLS protocol version 1.0
  • DTLS protocol version 1.2 / DTLS protocol version 1.2
  • dynamic linking
    • of language-defined object models [JEP 276] / Dynamic linking of language-defined object models [JEP 276]
  • dynamic randomly accessed memory (DRAM) / Cache capacity
  • DynamoDB / DynamoDB

E

  • eavesdropping / Datagram Transport Layer Security
  • Eclipse
    • reference link / Updating third-party libraries and tools
    • URL, for downloading / Installing Java 9 and Eclipse with Java 9 support
  • electronic mail / A brief look at the history of email protocols
  • Elliptic Curve Diffie-Hellman (ECDH) / DTLS support in Java 9
  • email and spam management
    • starting with / Getting started
  • email protocols
    • history / A brief look at the history of email protocols
  • EMCAScript / EMCAScript
  • endpoints, adding to server
    • conversations, obtaining / Getting conversations
    • SMS message, sending / Sending an SMS message
  • enhanced deprecation [JEP-277]
    • about / Enhanced deprecation [JEP-277]
    • @Deprecated annotation / What the @Deprecated annotation really means
  • enhanced enums / Enhanced enums
  • enhanced method handles [JEP-274]
    • about / Enhanced method handles [JEP-274]
    • need for / Reason for the enhancement
    • lookup functions / Lookup functions
    • MethodHandle argument, handling / Argument handling
    • additional combinations / Additional combinations
  • Executable Linkable Files (ELFs) / Provide stable USDT probe points on JVM compiled methods
  • external processes
    • controlling / Taking control of external processes

F

  • factory methods
    • used, for collections [JEP-269] / Convenience factory methods for collections [JEP-269]
  • features, Java 8
    • about / New features in Java 8
    • lambdas / Lambdas
    • java.time package / The new java.time package
    • default methods / Default methods
  • features, Java 9
    • about / New features in Java 9
    • Java Platform Module System/Project Jigsaw / Java Platform Module System/Project Jigsaw
    • process handling API / Process handling API
    • concurrency changes / Concurrency changes
    • REPL (Read-Eval-Print-Loop) / REPL
  • feedback modes
    • about / Feedback modes
    • custom feedback mode, creating / Creating a custom feedback mode
  • finalize() method / The finalize() method
  • flow-sensitive typing / Ceylon
  • Flow API
    • about / The New Flow API
    • Flow.Publisher interface / The Flow.Publisher interface
    • Flow.Subscriber interface / The Flow.Subscriber interface
    • Flow.Subscription interface / The Flow.Subscription interface
    • Flow.Processor interface / The Flow.Processor interface
    • sample implementation / Sample implementation
  • Foreign Function Interfaces (FFI) / Foreign Function Interfaces
  • forgery / Datagram Transport Layer Security
  • Forward Secrecy (FS) / DTLS support in Java 9
  • Function as a Service (FaaS) / Getting started
  • function deployment
    • about / Deploying the function
    • role, creating / Creating a role
    • topic, creating / Creating a topic
  • future changes, Java Compiler
    • policy for retiring javac -source and -target options / Policy for retiring javac -source and -target options
    • pluggable static analyzers / Pluggable static analyzers
  • future changes, JavaX
    • about / Future Changes to JavaX
    • JMX specific annotations, for registration of managed resources / JMX specific annotations for registration of managed resources
    • GTK3 Look and Feel Implementation, modernizing / Modernize the GTK3 Look and Feel Implementation
  • future changes, JDK
    • JDK changes targeted for Java 10 / JDK changes targeted for Java 10
    • JDK-related submitted proposals / JDK-related submitted proposals
    • JDK-related drafted proposals / JDK-related drafted proposals
  • future changes, JVM
    • JVM-related submitted proposals / JVM-related submitted proposals
    • JVM-related drafted proposals / JVM-related drafted proposals
  • future developments, Java platform
    • JDK / Future Changes to the JDK
    • Java Compiler / Future changes to the Java Compiler
    • JavaX / Future Changes to JavaX

G

  • G1 garbage collection
    • about / G1 garbage collection
    • options / Garbage collection options
  • G1 [JEP 278]
    • humongous objects, tests / Additional tests for humongous objects in G1 [JEP 278]
  • Galois HASH (GHASH)
    • CPU instructions, leveraging / Leveraging CPU instructions for GHASH and RSA
    • about / Hashing
  • Garbage-first (G1)
    • about / Java 9 at 20,000 feet, Updated garbage collection
    • performance, enhancing / Boosting performance with G1
  • garbage collection
    • about / Overview of garbage collection
    • object, life cycle / Object life cycle
    • options / Garbage collection options
    • Java methods / Java methods relevant to garbage collection
    • System.gc() method / The System.gc() method
    • finalize() method / The finalize() method
    • visualizing / Visualizing garbage collection
    • upgrading, in Java 8 / Garbage collection upgrades in Java 8
    • with new Java platform / Collecting garbage with the new Java platform
    • default garbage collection / Default garbage collection
    • combinations, depreciating / Depreciated garbage collection combinations
    • configuration Flag / Depreciated garbage collection combinations
    • combination Flag / Depreciated garbage collection combinations
  • garbage collection, issues
    • about / Persistent issues
    • object eligibility / Making objects eligible for garbage collection
  • garbage collection algorithms
    • about / Garbage collection algorithms
    • mark and sweep / Mark and sweep
    • concurrent mark sweep (CMS) algorithm / Concurrent mark sweep (CMS) garbage collection
    • serial garbage collection / Serial garbage collection
    • parallel garbage collection / Parallel garbage collection
    • G1 garbage collection / G1 garbage collection
  • garbage collection logging
    • options / Garbage collection logging options
    • gc tag / The gc tag
    • macros / Macros
    • considerations / Additional considerations
  • generic specialization
    • references / Generic specialization
    • about / Generic specialization
  • GIMP toolbox / Enabling GTK 3 on Linux [JEP 283]
  • Graal VM / Expanding the wish list
  • graphical user interface (GUI)
    • building / Building the graphical user interface, Building the GUI
  • Graphical User Interfaces (GUI) / Enabling GTK 3 on Linux [JEP 283]
  • GStreamer / Updating JavaFX/Media to newer version of GStreamer [JEP 257]
  • GStreamer [JEP 257]
    • JavaFX/Media, updating to new version of / Updating JavaFX/Media to newer version of GStreamer [JEP 257]
  • GTK 3
    • enabling, on Linux [JEP 283] / Enabling GTK 3 on Linux [JEP 283]
    • JavaFX / Enabling GTK 3 on Linux [JEP 283]
    • AWT / Enabling GTK 3 on Linux [JEP 283]
    • Swing / Enabling GTK 3 on Linux [JEP 283]

H

  • HarfBuzz font-layout engine [JEP 258] / HarfBuzz Font-Layout Engine [JEP 258]
  • HartBuzz / HarfBuzz Font-Layout Engine [JEP 258]
  • hashing / Hashing
  • Heap Profiling (HPROF) / Heap profiling agent [JEP 240]
  • heap profiling agent [JEP 240] / Heap profiling agent [JEP 240]
  • HiDPI graphics
    • for Linux [JEP 263] / HiDPI graphics on Windows and Linux [JEP 263]
    • for Windows [JEP 263] / HiDPI graphics on Windows and Linux [JEP 263]
    • about / HiDPI graphics on Windows and Linux [JEP 263]
  • HotSpot / HotSpot C++ unit-test framework [JEP 281]
  • HotSpot build system [JEP 284] / New HotSpot build system [JEP 284]
  • HotSpot C++ unit-test framework [JEP 281] / HotSpot C++ unit-test framework [JEP 281]
    • enhancement, goals / HotSpot C++ unit-test framework [JEP 281]
  • HTML5 Javadoc [JEP-224] / HTML5 Javadoc [JEP-224]
  • HTTP 2.0
    • starting with / Getting started with HTTP 2.0
  • HTTP client [JEP-110]
    • about / The new HTTP client [JEP-110]
    • Java 9 / The HTTP client before Java 9
    • creating, for Java 9 / Java 9's new HTTP client
    • benefits / Java 9's new HTTP client
    • new API, limitations / New API limitations
  • humongous objects
    • tests, in G1 [JEP 278] / Additional tests for humongous objects in G1 [JEP 278]
  • Hypertext Transfer Protocol (HTTP) / The new HTTP client [JEP-110]

I

  • identity-less value types / Value types
  • Identity and Access Management (IAM)
    • reference / Configuring your AWS credentials
  • import statements [JEP 211]
    • depreciation warnings, suppressing / Eliding depreciation warnings on import statements [JEP 211]
  • import statements [JEP 216]
    • processing, correctly / Processing import statements correctly [JEP 216]
  • information
    • obtaining, about process / Getting information about a process
  • Infrastructure as a Service (IaaS) / Getting started
  • infrastructure framework, Oracle
    • reference link / New HotSpot build system [JEP 284]
  • initialize on demand holder (IODH) pattern / A brief look at internationalization and localization
  • Instagram
    • adding, to Sunago / Adding another network - Instagram
    • reference / Registering as an Instagram developer
  • Instagram client
    • implementing / Implementing the Instagram client
  • Instagram developer
    • registering as / Registering as an Instagram developer
  • instance, StackWalker
    • obtaining / Getting an instance of StackWalker
    • RETAIN_CLASS_REFERENCE / RETAIN_CLASS_REFERENCE
    • SHOW_REFLECT_FRAMES / SHOW_REFLECT_FRAMES
    • SHOW_HIDDEN_FRAMES / SHOW_HIDDEN_FRAMES
    • enum constants / Final thoughts on enum constants
  • Integrated Development Environment (IDE) / JavaFX overview, Updating third-party libraries and tools, Approach to using JMH
  • IntelliJ
    • URL / Updating third-party libraries and tools
  • internal APIs [JEP-260]
    • encapsulating / Encapsulating most internal APIs [JEP-260]
  • internal catalog resolver / XML Catalogs prior to Java 9
  • internationalization / A brief look at internationalization and localization
  • interned strings
    • storing, in CDS archives [JEP 250] / Storing interned strings in CDS archives [JEP 250]
    • issues / The problem
    • solutions / The solution
  • Internet Access Message Protocol (IMAP) / A brief look at the history of email protocols
  • Internet Engineering Task Force (IETF) / DTLS protocol version 1.2
  • Internet of Things (IoT) / Kona
  • Internet Protocol version 6 (IPv6) / Improving IPv6 support
  • inversion of control (IoC) / Adding MongoDB

J

  • J-link tool / Bootstrapping the application
  • JAR file
    • size, increasing / Making our JAR file fat
  • Java
    • modules / How modules fit into the Java landscape
    • base module / Base module
    • reliable configuration / Reliable configuration
    • encapsulation / Strong encapsulation
  • Java-level JVM compiler interface [JEP-243] / Java-level JVM compiler interface [JEP-243]
  • java.net.ssl package extension / The java.net.ssl package extension
  • java.Security.CodeSource package / The java.Security.CodeSource package
  • java.util.logging package
    • about / The java.util.logging package
    • ErrorManager class / The java.util.logging package
    • ConsoleHandler class / The java.util.logging package
    • FileHandler class / The java.util.logging package
    • Formatter class / The java.util.logging package
    • Handler class / The java.util.logging package
    • Level class / The java.util.logging package
    • LogManager class / The java.util.logging package
    • LogRecord class / The java.util.logging package
    • MemoryHandler class / The java.util.logging package
    • SimpleFormatter class / The java.util.logging package
    • SocketHandler class / The java.util.logging package
    • StreamHandler class / The java.util.logging package
    • XMLFormatter class / The java.util.logging package
  • Java 8
    • garbage collection, upgrading / Garbage collection upgrades in Java 8
  • Java 9
    • about / Java 9 at 20,000 feet
    • implications / Implications for Java 9
    • updates / New with Java 9, New in Java 9
    • URL / Useful tools
    • HTTP client [JEP-110] / The HTTP client before Java 9
    • HTTP client [JEP-110], creating / Java 9's new HTTP client
    • DTLS, supporting / DTLS support in Java 9
    • changes / Changes in Java 9
  • Java APIs for XML Processing (JAXP) / Merging selected Xerces 2.11.0 updates into JAXP [JEP 255]
  • Java Archive (JAR) / A modular primer
  • JavaBean / JavaBean
  • javac / Smart Java compilation, phase two [JEP 199]
  • Java Community Process (JCP)
    • about / Java 9 at 20,000 feet, Reviewing Java's platform module system [JEP-200]
    • URL / Reviewing Java's platform module system [JEP-200]
  • Java Compiler
    • future changes / Future changes to the Java Compiler
    • Java Virtual Machine / Future Changes to the Java Virtual Machine
  • Java concurrency
    • about / Java concurrency
    • concurrency / Concurrency explained
    • system configurations / System configurations
    • Java threads / Java threads
    • concurrency improvements / Concurrency improvements
  • javac wrapper tool
    • reference link / Smart Java compilation, phase two [JEP 199]
  • javac [JEP 215]
    • tiered attribution / Tiered attribution for javac [JEP 215]
  • javac [JEP 235]
    • test class-file attributes, generated / Testing class-file attributes generated by Javac [JEP 235]
  • Java DB
    • references / Database
  • Java Development Kit (JDK)
    • about / A modular primer
    • future changes / Future Changes to the JDK
  • Javadoc search [JEP-225]
    • about / Javadoc search [JEP-225]
    • camel case search / Introducing camel case search
  • Javadoc tool
    • reference link / HTML5 Javadoc [JEP-224]
  • Java ecosystem / Getting started
  • Java Enhancement Plan (JEP) / Collecting garbage with the new Java platform
  • Java Enhancement Program #271 (JEP-271) / Unified garbage collection logging
  • Java Enhancement Program (JEP) / What is JShell?
  • Java Enhancement Program 214 (JEP 214) / Depreciated garbage collection combinations
  • Java Enhancement Proposal 237 (JEP 237) / The Linux/AArch64 port
  • Java Enterprise Edition (Java EE) / Loading our plugins in Sunago, JavaMail, the Standard Java API for Email
  • Java environment (jEnv)
    • URL / Java environment - jEnv
    • about / Java environment - jEnv
  • JavaFX / Preparing JavaFX UI controls and CSS APIs for modularization [JEP 253], JavaFX overview
  • JavaFX-based application
    • bootstrapping / Bootstrapping the application
  • JavaFX/Media
    • about / Updating JavaFX/Media to newer version of GStreamer [JEP 257]
    • updating, to GStreamer [JEP 257] new version / Updating JavaFX/Media to newer version of GStreamer [JEP 257]
  • JavaFX tools / JavaFX tools
  • JavaFX UI controls
    • preparing, for modularization [JEP 253] / Preparing JavaFX UI controls and CSS APIs for modularization [JEP 253]
  • Java Heap Analysis Tool (JHAT) / Removing your JHAT [JEP 241]
  • Java Keystore (JKS)
    • about / Java Keystore (JKS), PKCS12 default in Java 9
    • builder class / Builder
    • CallbackHandlerProtection class / The CallbackHandlerProtection class
    • PasswordProtection class / The PasswordProtection class
    • PrivateKeyEntry class / The PrivateKeyEntry class
    • SecretKeyEntry class / The SecretKeyEntry class
    • TrustedCertificateEntry class / The TrustedCertificateEntry class
  • Java Linker (JLink) / Modular Java application packaging [JEP-275], Advanced look at the Java Linker, JLink - The Java Linker [JEP-282]
  • Java Linker [JEP-282] / JLink - The Java Linker [JEP-282]
  • JavaMail / JavaMail, the Standard Java API for Email
  • Java Management Extension (JMX) / REST APIs for JMX, Diagnostic Command Framework
  • Java memory model / Java memory model
  • Java Microbenchmark Harness (JMH)
    • about / Java 9 at 20,000 feet
    • performance, measuring / Measuring performance with JMH
    • using / Approach to using JMH
    • Java 9, installing / Installing Java 9 and Eclipse with Java 9 support
    • Eclipse, installing / Installing Java 9 and Eclipse with Java 9 support
    • experiments / Hands-on experiment
  • Java module systems
    • about / Breaking the monolith
    • benefits / Breaking the monolith
  • Java Native Access (JNA) / Foreign Function Interfaces
  • Java Native Interface (JNI) / C header files, Foreign Function Interfaces, Project Panama
  • Java Native Runtime (JNR) / Foreign Function Interfaces
  • Java Network Launch Protocol (JNLP)
    • about / The JDK's modularization, JRE version selection
    • reference link / FX XML extension
  • Java Packager
    • about / Modular Java application packaging [JEP-275]
    • options / Java Packager options
  • Java Persistence API (JPA)
    • about / Concurrent Java with a Future interface
    • used, for accessing modern database / Modern database access with JPA
  • Java Platform Module System (JPMS)
    • about / Reviewing Java's platform module system [JEP-200]
    • reviewing / Reviewing Java's platform module system [JEP-200]
  • Java runtime environment (JRE) / A modular primer, Java runtime environment
  • JavaScript Object Notation (JSON) / Compiler control in Java 9
  • JavaScript VM language / Building the user interface
  • Java Shell (JShell)
    • about / Java 9 at 20,000 feet, Playing around with the Java Shell, What is JShell?
    • starting / Getting Started with JShell
    • command functionality / Getting Started with JShell
    • practical uses / Practical uses of JShell
    • feedback modes / Feedback modes
    • assets, listing / Listing your assets
    • editing in / Editing in the JShell
    • text, modifying / Modifying text
    • basic navigation / Basic navigation
    • historical navigation / Historical navigation
    • advanced editing commands / Advanced editing commands
    • advanced scripting / Advanced scripting with JShell
  • Java Stack
    • overview / Overview of the Java Stack
  • Java Virtual Machine (JVM)
    • about / Java runtime environment
    • sizing options / Garbage collection options
    • future changes / Future Changes to the Java Virtual Machine
  • Java Virtual Machine Debug Interface (JVMDI) / Diagnostic commands [JEP 228]
  • Java Virtual Machine Profiling Interface (JVMPI) / Diagnostic commands [JEP 228]
  • Java Virtual Machine Tool Interface (JVMTI) / C header files, Diagnostic commands [JEP 228], Provide stable USDT probe points on JVM compiled methods, Provide a low-overhead way of sampling Java heap allocations
  • Java Web Start / Web services, JRE version selection
  • JavaX
    • future changes / Future Changes to JavaX
  • javax.net.ssl package / The javax.net.ssl package
  • JAXP processors
    • about / JAXP processors
    • interfaces / JAXP processors
  • JAXP [JEP 255]
    • selected Xerces 2.11.0 updates, merging into / Merging selected Xerces 2.11.0 updates into JAXP [JEP 255]
  • JDK-related drafted proposals
    • about / JDK-related drafted proposals
    • finalization promptness / Finalization promptness
    • Java memory model / Java memory model
    • Foreign Function Interfaces (FFI) / Foreign Function Interfaces
    • isolated methods / Isolated methods
    • metaspace waste, reducing / Reducing metaspace waste
    • IPv6 support, improving / Improving IPv6 support
    • unboxed argument lists, for method handles / Unboxed argument lists for method handles
    • enhanced MandelblotSet demo, value types used / Enhanced MandelblotSet demo using value types
    • efficient array comparison intrinsics / Efficient array comparison intrinsics
  • JDK-related submitted proposals
    • about / JDK-related submitted proposals
    • Full GC Phase, parallelizing in CMS / Parallelize the Full GC Phase in CMS
    • REST APIs, for JMX / REST APIs for JMX
    • support heap allocation / Support heap allocation
  • JDK 9
    • URL, for downloading / Java 9 at 20,000 feet
    • features / Expanding the wish list
    • generics, over primitive types / Expanding the wish list
    • reified generics / Expanding the wish list
    • URL / Installing Java 9 and Eclipse with Java 9 support
  • JDK Bug System
    • reference link / Resolving Lint and Doclint warnings [JEP 212]
  • JDK changes, targeted for Java 10
    • about / JDK changes targeted for Java 10
    • repository consolidation / Repository consolidation
    • Native-header tool removal / Native-header tool removal
  • JDK classes
    • de-privileging / De-privileging JDK classes
  • JDK Enhancement Proposal 199
    • code compilation, improving / Smart Java compilation, phase two [JEP 199]
  • JDK source code [JEP-201]
    • modularizing / Modularizing JDK source code [JEP-201]
    • pre-Java 9 JDK source code organization / Pre-Java 9 JDK source code organization
    • deployment tools / Development tools
    • JavaFX tools / JavaFX tools
    • JRE / Java runtime environment
    • about / Source code
    • libraries / Libraries
    • C header files / C header files
    • database / Database
    • JDK source code reorganized / JDK source code reorganized
  • JEP 223
    • versioning schema / New version-string scheme [JEP 223]
  • JHAT [JEP 241]
    • removing / Removing your JHAT [JEP 241]
  • JPAQL (Java Persistence API Query Language) / Modern database access with JPA
  • JSON Web Tokens (JWT) / Securing the endpoints
  • jstat / Monitoring
  • JVM
    • microservice framework / Microservice frameworks on the JVM
    • Eclipse Vert.x / Microservice frameworks on the JVM
    • Spring Boot / Microservice frameworks on the JVM
    • Java EE MicroProfile / Microservice frameworks on the JVM
  • JVM-related drafted proposals
    • about / JVM-related drafted proposals
    • USDT probe points, providing on JVM compiled methods / Provide stable USDT probe points on JVM compiled methods
    • Concurrent Monitor Deflation / Concurrent monitor deflation
    • Low-Overhead way of sampling Java Heap Allocations, providing / Provide a low-overhead way of sampling Java heap allocations
    • Diagnostic Command Framework / Diagnostic Command Framework
    • Enhanced Class Redefinition / Enhanced Class Redefinition
    • NUMA mode, enabling by default / Enable NUMA mode by default when appropriate
    • Value objects / Value objects
    • JVM Access Checks, aligning / Align JVM Access Checks
  • JVM-related submitted proposals
    • about / JVM-related submitted proposals
    • Container aware Java / Container aware Java
    • Java methods execution, enabling on GPU / Enable execution of Java methods on GPU
    • Epsilon GC / Epsilon GC - The arbitrarily low overhead garbage (non-) collector
  • JVM command-line flag argument validation [JEP 245] / JVM command-line flag argument validation [JEP 245]
  • JVM Compiler Interface (JVMCI) / Java-level JVM compiler interface [JEP-243]
  • JVM process status tool (jps) / Monitoring

K

  • keystore primer / Keystore primer
  • keystores
    • benefits / Keystore primer
  • Kotlin
    • about / Kotlin
    • URL / Kotlin

L

  • LALR parser / Compiler Grammar
  • Lambda console
    • function, deploying / Deploying the function
    • function, testing / Testing the function
    • AWS credentials, configuring / Configuring your AWS credentials
  • language-defined object models [JEP 276]
    • dynamic linking / Dynamic linking of language-defined object models [JEP 276]
  • language model API
    • about / Language model API
    • AnnotatedConstruct interface / The AnnotatedConstruct interface
    • SourceVersion enum / The SourceVersion enum
    • UnknownEntityException exception / The UnknownEntityException exception
  • last-in-first-out (LIFO) / Overview of the Java Stack
  • launch-time JRE version selection [JEP-231]
    • selecting / Remove launch-time JRE version selection [JEP-231]
  • library
    • building / Building the library, Building the library
    • timely interlude / A timely interlude
  • Lint warning
    • about / Resolving Lint and Doclint warnings [JEP 212]
    • reference link / Resolving Lint and Doclint warnings [JEP 212]
  • Linux/AArch64 port / The Linux/AArch64 port
  • Linux [JEP 263]
    • HiDPI graphics / HiDPI graphics on Windows and Linux [JEP 263]
  • Linux [JEP 283]
    • GTK 3, enabling / Enabling GTK 3 on Linux [JEP 283]
  • Local-Variable Type Inference / Local-Variable Type Inference
  • localization / A brief look at internationalization and localization
  • logging API [JEP-264]
    • about / Platform logging API and service [JEP-264]
    • java.util.logging package / The java.util.logging package
    • in Java 9 / Logging in Java 9
  • logging service [JEP-264]
    • about / Platform logging API and service [JEP-264]
    • java.util.logging package / The java.util.logging package
    • in java 9 / Logging in Java 9
  • Lookup / Lookup, a NetBeans fundamental
  • lookup functions / Lookup functions

M

  • Mail Transfer Agents (MTAs) / A brief look at the history of email protocols
  • main class / Main class
  • marker annotation / Annotations pipeline 2.0 [JEP 217]
  • Marlin graphics renderer [JEP 265] / Marlin graphics renderer [JEP 265]
  • Maven
    • about / Maven
    • references / Maven, Obtaining the M2Eclipse IDE, Microbenchmarking with Maven
    • M2Eclipse IDE, obtaining / Obtaining the M2Eclipse IDE
    • microbenchmarking / Microbenchmarking with Maven
    • reference / Getting started
  • MavMaven Shade plugin / Deploying the function
  • MBean / REST APIs for JMX, JMX specific annotations for registration of managed resources
  • Mebibyte (MiB) / Garbage collection options
  • memory leak / Object destruction
  • menus
    • adding / Adding menus
  • MethodHandle agrument
    • handling / Argument handling
  • microbenchmarking
    • about / Microbenchmarking overview
    • Implement phase / Microbenchmarking overview
    • Design phase / Microbenchmarking overview
    • Execution phase / Microbenchmarking overview
    • Enhancement phase / Microbenchmarking overview
    • Analysis phase / Microbenchmarking overview
    • JMH, using / Approach to using JMH
    • with Maven / Microbenchmarking with Maven
    • avoiding, techniques / Techniques for avoiding microbenchmarking pitfalls
    • power management / Power management
    • OS schedulers / OS schedulers
    • time-sharing / Time sharing
    • dead-code, eliminating / Eliminating dead-code and constant folding
    • constant folding, eliminating / Eliminating dead-code and constant folding
    • run-to-run variance / Run-to-run variance
    • cache capacity / Cache capacity
  • migration
    • planning / Migration planning
    • Java application, testing / Testing a simple Java application
    • potential issues / Potential migration issues
  • migration, issues
    • JRE / The JRE
    • internal APIs, accessing / Access to internal APIs
    • internal JARs, accessing / Accessing internal JARs
    • JAR URL, depreciation / JAR URL depreciation
    • extension mechanism / Extension mechanism
    • JSK modularization / The JDK's modularization
  • mJRE (Multiple JRE) / Remove launch-time JRE version selection [JEP-231]
  • Mobile Backend as a Service (MBaas) / Getting started
  • modes / Modes
  • modular / A modular primer
  • modularization [JEP 253]
    • JavaFX UI controls, preparing / Preparing JavaFX UI controls and CSS APIs for modularization [JEP 253]
    • CSS APIs, preparing / Preparing JavaFX UI controls and CSS APIs for modularization [JEP 253]
    • Java 9, implications / Implications for Java 9
  • modularizing
    • JDK source code [JEP-201] / Modularizing JDK source code [JEP-201]
  • Modular Java application [JEP-275]
    • packaging / Modular Java application packaging [JEP-275]
    • Java Linker / Advanced look at the Java Linker
  • modular primer / A modular primer
  • modular runtime images [JEP-220]
    • about / Understanding modular run-time images [JEP-220]
    • runtime format, adopting / Runtime format adoption
    • restructuring / Runtime image restructure
    • common operations, supporting / Supporting common operations
    • JDK classes, de-privileging / De-privileging JDK classes
    • existing behaviors, preserving / Preserving existing behaviors
  • module paths
    • about / Module paths
    • compilation module path / Module paths
    • upgrade module path / Module paths
    • system modules / Module paths
    • application module path / Module paths
  • modules
    • in Java / How modules fit into the Java landscape
  • module system [JEP-261]
    • about / Getting to know the module system [JEP-261]
    • module paths / Module paths
    • access-control boundary violations / Access-control boundary violations
  • MongoDB
    • reference / Adding MongoDB
  • Monumentum
    • creating / Getting started, Creating the application
    • REST Services, creating / Creating REST Services
    • MongoDB, adding / Adding MongoDB
    • notes resources, finishing / Finish the notes resource
    • authentication, adding / Adding authentication
    • user interface, building / Building the user interface
  • multi-release JAR files [JEP-238]
    • about / Multi-release JAR files [JEP-238]
    • identifying / Identifying multi-release JAR files
    • JDK changes / Related JDK changes
  • multi-resolution images / Multi-resolution Images
  • mutations / Building the user interface

N

  • Nashorn
    • about / Proof of concept, Nashorn
    • using, as command-line tool / Using Nashorn as a command-line tool
    • using, as embedded interpreter / Using Nashorn as an embedded interpreter
  • nashorn identifier / Using Nashorn as an embedded interpreter
  • Nashorn [JEP-236]
    • parser API / Parser API for Nashorn [JEP-236], Parser API
    • EMCAScript / EMCAScript
  • National Institute of Standards and Technology (NIST) / DTLS support in Java 9
  • NetBeans
    • URL / Updating third-party libraries and tools
    • reference / Getting started, TopComponent - the class for tabs and windows
    • modules / NetBeans modules
  • NetBeans Javadoc
    • reference / TopComponent - the class for tabs and windows
  • NetBeans RCP project
    • bootstrapping / Bootstrapping the project
    • application, branding / Branding your application
    • JavaFX, integrating with / Integrating JavaFX with the NetBeans RCP
  • network packet / Datagram Transport Layer Security
  • new API
    • limitations / New API limitations
  • new collection literals
    • using / Using new collection literals
  • Nodes
    • about / Getting started, Nodes, a NetBeans presentation object
    • writing / Writing our own nodes
  • Non-Uniform Memory Access (NUMA) / Enable NUMA mode by default when appropriate
  • notification system
    • building / Getting started
    • planning / Planning the application
    • first function, building / Building your first function

O

  • OASIS XML Catalog standard
    • about / The OASIS XML Catalog standard
    • reference link / The OASIS XML Catalog standard
  • object
    • life cycle / Object life cycle
    • creating / Object creation
    • storing / Object mid-life
    • destruction / Object destruction
  • object-relational mapping (ORM) / Modern database access with JPA
  • Online Certificate Status Protocol (OCSP) stapling
    • for TLS / OCSP stapling for TLS
    • process / OCSP stapling primer
    • Java 9 platform, changes / Changes for the Java 9 platform
  • Operand Stack / Overview of the Java Stack
  • Options panel
    • about / NetBeans preferences and the Options panel
    • primary panel, adding / Adding a primary panel
    • secondary panel, adding / Adding a secondary panel
    • preferences, loading / Loading and saving preferences
    • preferences, saving / Loading and saving preferences
    • preferences changes, reacting to / Reacting to changes in preferences
  • Oracle
    • about / Advice from Oracle
    • preparatory steps / Preparatory steps
    • JDK 9 early access build, obtaining / Getting the JDK 9 early access build
    • program, executing / Running your program before recompiling
    • third-party libraries and tools, updating / Updating third-party libraries and tools
    • application, compiling / Compiling your application
    • pre-Java 9 -source / Pre-Java 9 -source and -target options
    • -target options / Pre-Java 9 -source and -target options, Java 9 -source and -target options
    • Java 9 -source / Java 9 -source and -target options
    • jdeps, executing / Running jdeps on your code
    • encapsulation, breaking / Breaking encapsulation
    • --add-opens option / The --add-opens option
    • --add-exports option / The --add-exports option
    • --permit-illegal-access option / The --permit-illegal-access option
    • runtime image, modifications / Runtime image changes
    • Java version schema / Java version schema
    • JDK layout / JDK and JRE layout
    • JRE layout / JDK and JRE layout
    • excluded features / What has been removed
    • garbage collection, updating / Updated garbage collection
    • deployment / Deployment
    • JRE version selection / JRE version selection
    • serialized applets / Serialized applets
    • JNLP, updating / JNLP update
    • nested resources / Nested resources
    • FX XML extension / FX XML extension
    • JNLP file syntax / JNLP file syntax
    • numeric version, comparison / Numeric version comparison
  • OS schedulers / OS schedulers

P

  • package checking algorithm / Package checking algorithm
  • parallel garbage collection / Parallel garbage collection, Default garbage collection
  • parameters class / Parameters class
  • ParamsAndHandle class / The ParamsAndHandle class
  • parser API / Parser API
  • Path Maximum Transition Unit (PMTU) / DTLS protocol version 1.0
  • Perfect Forward Secrecy (PFS) / DTLS support in Java 9
  • Pipeline 2.0 [JEP 217]
    • annotations / Annotations pipeline 2.0 [JEP 217]
  • PKCS12 keystores
    • creating / Creating PKCS12 keystores
    • keystore primer / Keystore primer
    • Java Keystore (JKS) / Java Keystore (JKS)
    • default keystore / PKCS12 default in Java 9
  • plain JavaFX / Getting started
  • Plain Old Java Object (POJO) / Modern database access with JPA, Building the CLI
  • platform-specific desktop features [JEP-272] / Platform-specific desktop features [JEP-272]
  • Platform as a Service (PaaS) / Getting started
  • plugin jars / Loading our plugins in Sunago
  • power management / Power management
  • pre-Java 9 Doclet API
    • about / The pre-Java 9 Doclet API
    • enums / API enums
    • classes / API classes
    • interfaces / API interfaces
  • pre-Java 9 garbage collection
    • about / Pre-Java 9 garbage collection
    • games, written with Java case study / Case study - Games written with Java
  • private interface methods
    • using / Making use of private interface methods
  • process controller application
    • about / A small process controller application
    • main class / A small process controller application, Main class
    • parameters class / A small process controller application, Parameters class
    • ParamsAndHandle class / A small process controller application, The ParamsAndHandle class
    • ControlDaemon class / A small process controller application, The ControlDaemon class
  • processes
    • about / What are processes?
    • information, obtaining / Getting information about a process
    • listing / Listing processes, Listing all processes
    • children, listing / Listing children
    • descendants, listing / Listing descendants
    • allProcess() / Listing all processes
    • waiting for / Waiting for processes
    • terminating / Terminating processes
  • ProcessHandle interface
    • about / The new ProcessHandle interface
    • references / Terminating processes
  • process identifier (PID)
    • obtaining, of current process / Getting the PID of the current process
  • process list
    • updating / Updating the process list
  • Project Amber
    • about / Project Amber
    • Local-Variable Type Inference / Local-Variable Type Inference
    • enhanced enums / Enhanced enums
    • Lambda leftovers / Lambda leftovers
  • Project Coin [JEP 213]
    • changes / Milling Project Coin [JEP 213]
    • about / Milling Project Coin [JEP 213]
    • reference link / Milling Project Coin [JEP 213]
    • @SafeVarargs annotation, using / Using the @SafeVarargs annotation
    • try-with-resource statement / The try-with-resource statement
    • diamond operator, using / Using the diamond operator
    • underscore, discontinuing / Discontinuing use of the underscore
    • private interface methods, using / Making use of private interface methods
  • Project Jigsaw
    • about / Breaking the monolith
    • reviewing / Quick review of Project Jigsaw
    • classpath / Classpath
    • monolithic nature / The monolithic nature of the JDK
  • Project Panama
    • about / Project Panama
    • URL / Project Panama
  • projects
    • about / Projects
    • Process Viewer/Manager / Process Viewer/Manager
    • Duplicate File Finder / Duplicate File Finder
    • Date Calculator / Date Calculator
    • Social Media Aggregator / Social Media Aggregator
    • email filter / Email filter
    • JavaFX photo management / JavaFX photo management
    • client/server note application / A client/server note application
    • serverless Java / Serverless Java
    • Android desktop synchronization client / Android desktop synchronization client
    • starting with / Getting started
    • creating / Creating a project
  • Project Valhalla
    • about / Project Valhalla
    • value types / Value types
    • generic specialization / Generic specialization
    • reified generics / Reified generics
  • public javafx.css package
    • classes / Implications for Java 9
  • public javafx.scene.control.skin package
    • classes, moved from internal packages / Implications for Java 9
  • Public Key Cryptography Standards (PKCS) / PKCS12 default in Java 9
  • Public Key Infrastructure (PKI) / Changes for the Java 9 platform

R

  • reactive programming
    • about / Encompassing reactive programming, Reactive Programming
    • standardization / Reactive programming standardization
  • Reactive Streams / Reactive programming standardization
  • refresh button
    • adding / Adding a refresh button
  • reified generics / Reified generics
  • Remote Method Invocation (RMI) / RMI
  • Representational State Transfer (REST) / REST APIs for JMX
  • ResourceBundle class
    • about / The ResourceBundle class
    • nested class / The nested class
    • fields and constructors / Fields and constructors
    • methods / Methods
  • retina display / HiDPI graphics on Windows and Linux [JEP 263]
  • Rich Internet Applications (RIAs) / JNLP update
  • RISC (Reduced Instruction Set Computing) / The Linux/AArch64 port
  • Rivest-Shamir-Adleman (RSA)
    • about / DTLS support in Java 9, Hashing
    • CPU instructions, leveraging / Leveraging CPU instructions for GHASH and RSA
  • run-time compiler tests [JEP 233]
    • generating, automatically / Generating run-time compiler tests automatically [JEP 233]
  • run-to-run variance / Run-to-run variance
  • runtime format
    • adopting / Runtime format adoption

S

  • @SafeVarargs annotation
    • using / Using the @SafeVarargs annotation
  • Scene Builder / JavaFX overview
    • reference / Defining the user interface
  • scripts
    • working with / Working with scripts
    • startup scripts / Start up scripts
    • loading / Loading scripts
    • saving / Saving scripts
  • security, desktop application
    • endpoints, securing / Securing the endpoints
    • authorization requests, handling / Handling authorization requests
  • security application
    • performance, improving / Improving security application performance
    • security policy, enforcing / Security policy enforcement
    • permission, evaluating / Permission evaluation
    • java.Security.CodeSource package / The java.Security.CodeSource package
    • package checking algorithm / Package checking algorithm
  • security policy
    • enforcing / Security policy enforcement
    • classes, used / Security policy enforcement
  • segmented code cache JEP (197)
    • about / Segmented code cache [JEP 197]
    • memory allocation / Memory allocation
  • selected Xerces 2.11.0 updates
    • merging, into JAXP [JEP 255] / Merging selected Xerces 2.11.0 updates into JAXP [JEP 255]
  • semantic versioning / New version-string scheme [JEP 223]
  • serial garbage collection / Serial garbage collection, Default garbage collection
  • server-sent events (SSE)
    • about / Server-sent events
    • service state, controlling / Controlling the service state
    • endpoints, adding to server / Adding endpoints to the server
  • serverless computing / Getting started
  • server stalls / Case study - Games written with Java
  • service
    • building / Building the service
  • Service Provider Interface (SPI) / Common Locale Data Repository (CLDR)
  • Service Provider Interfaces (SPIs) / Looking back
  • siblings / Loading our plugins in Sunago
  • Simple Email Service (SES) / Simple Email Service
  • Simple Notification Service (SNS) / Simple Notification Service
  • smart Java compilation (sjavac) / Smart Java compilation, phase two [JEP 199]
  • SMTP (Simple Mail Transport Protocol) / A brief look at the history of email protocols
  • SMTP RCF
    • reference / A brief look at the history of email protocols
  • Software as a Service (SaaS) / Getting started
  • SourceVersion enum
    • about / The SourceVersion enum
    • methods / The SourceVersion enum
    • method / The SourceVersion enum
  • special projects
    • about / Ongoing Special Projects
    • Annotations pipeline 2.0 / Annotations pipeline 2.0
    • Audio Synthesis Engine / Audio Synthesis Engine
    • Caciocavallo / Caciocavallo
    • Common VM Interface / Common VM Interface
    • Compiler Grammar / Compiler Grammar
    • Da Vinci Machine / Da Vinci Machine
    • Device I/O / Device I/O
    • Graal / Graal
    • HarfBuzz Integration / HarfBuzz Integration
    • Kona / Kona
    • OpenJFX / OpenJFX
    • Panama / Panama
    • Shenandoah / Shenandoah
  • speculative attribution / Tiered attribution for javac [JEP 215]
  • spin-wait
    • about / Spin-Wait Hints
    • hint / Spin-Wait Hints
  • SSL / TLS protocol / DTLS protocol version 1.0
  • stack areas
    • reserved, for critical sections [JEP 270] / Reserved stack areas for critical sections [JEP 270]
    • in pre-Java 9 situation / The pre-Java 9 situation
    • Java 9, updates / New in Java 9
  • StackFrame
    • about / StackFrame
    • getClassName() / StackFrame
    • getMethodName() / StackFrame
    • getDeclaringClass() / StackFrame
    • getByteCodeIndex() / StackFrame
    • getFileName() / StackFrame
    • getLineNumber() / StackFrame
    • isNativeMethod() / StackFrame
  • stack information
    • importance / The importance of stack information
    • about / The importance of stack information
    • callers, restricting example / Example - Restricting callers
    • logger, obtaining for caller example / Example - Getting logger for caller
  • StackWalker
    • working with / Working with StackWalker
    • instance, obtaining / Getting an instance of StackWalker
    • classes, accessing / Accessing classes
    • walking methods / Walking methods
    • performance / Performance
  • Standard Edition (SE) / Concurrent Java with a Future interface
  • startup scripts / Start up scripts
  • string concatenation [JEP 280] / Optimizing string concatenation [JEP 280]
  • string space / The solution
  • sun.misc.Unsafe class
    • using / Using the sun.misc.Unsafe class
  • Sunago
    • starting with / Getting started
    • user interface, setting up / Setting up the user interface
    • setting up / Setting up the user interface
    • controller, setting up / Setting up the controller
    • model class, writing / Writing the model class
    • controller, finishing up / Finishing up the controller
    • image, adding for item / Adding an image for the item
    • preferences user interface, building / Building the preferences user interface
    • user preferences, saving / Saving user preferences
    • plugins and extensions, using with Service Provider Interface / Plugins and extensions with the Service Provider Interface
    • resource, handling with try-with-resources / Resource handling with try-with-resources
    • network, adding / Adding a network - Twitter
    • Twitter preferences, adding / Adding Twitter preferences to Sunago
    • Instagram, adding / Adding another network - Instagram
    • plugins, loading / Loading our plugins in Sunago
  • SwingContainer
    • about / SwingContainer
    • optional elements / SwingContainer
  • System.gc() method / The System.gc() method
  • system modules / Module paths

T

  • tampering / Datagram Transport Layer Security
  • tenuring threshold / Garbage collection options
  • Test-Driven Development (TDD) / A brief interlude on testing
  • test-failure troubleshooting [JEP 279]
    • improving / Improving test-failure troubleshooting [JEP 279]
    • environmental information / Environmental information
    • Java process, information / Java process information
  • test class-file attributes
    • generated, by javac [JEP 235] / Testing class-file attributes generated by Javac [JEP 235]
    • unused, by JVM / Storing interned strings in CDS archives [JEP 250]
  • testing interlude / A brief interlude on testing
  • throughput (thrpt) / Modes
  • tiered attribution
    • for javac [JEP 215] / Tiered attribution for javac [JEP 215]
  • TIFF image input/output [JEP-262]
    • about / TIFF image input/output [JEP-262]
    • static methods / TIFF image input/output [JEP-262]
    • static methods, returning Booleans / TIFF image input/output [JEP-262]
  • time-based unit of time / Duration
  • time-sharing / Time sharing
  • timely interlude
    • duration / Duration
    • period / Period
    • clock / Clock
    • code / Back to our code
  • time units / Time units
  • TLAB (Thread Local Allocation Blocks) / Garbage collection options
  • TLS ALPN extension / TLS ALPN extension
  • TLS protocol / Datagram Transport Layer Security
  • Tool Interface (TI) / Heap profiling agent [JEP 240]
  • tools
    • about / Useful tools
    • jEnv / Java environment - jEnv
    • Maven / Maven
  • TopComponent / TopComponent - the class for tabs and windows
  • Transport Layer / DTLS protocol version 1.0
  • Transport Layer Security (TLS)
    • about / Datagram Transport Layer Security, TLS application-layer protocol negotiation extension, OCSP stapling for TLS
    • OCSP stapling / OCSP stapling for TLS
  • try-with-resource statement / The try-with-resource statement
  • Twitter
    • adding, to Sunago / Adding a network - Twitter
    • logging on / OAuth and logging on to Twitter
    • OAuth authorization / OAuth and logging on to Twitter
    • model, adding / Adding a model for Twitter
  • Twitter client
    • implementing / Implementing a Twitter client
  • Twitter developer
    • registering as / Registering as a Twitter developer

U

  • underscore character
    • discontinuing / Discontinuing use of the underscore
  • Unicode 7.0.0
    • about / Unicode 7.0.0
    • java.lang package / The java.lang package
    • java.text package / The java.text package
    • additional significance / Additional significance
  • Unicode 8.0 [JEP 267]
    • about / Unicode 8.0.0 [JEP 267]
    • new features / New in Unicode 8.0.0
    • Java 9, updated classes / Updated Classes in Java 9
  • Unicode Transformation Format-8 (UTF-8)
    • about / Support for UTF-8
    • ResourceBundle class / The ResourceBundle class
  • unified garbage collection logging
    • about / Unified garbage collection logging
    • unified JVM logging (JEP-158) / Unified JVM logging (JEP-158)
    • JEP-271 / Unified GC logging (JEP-271)
  • unified JVM logging [JEP 158]
    • about / Unified JVM logging (JEP-158), Unified JVM Logging [JEP 158]
    • tags / Tags, Tags
    • levels / Levels, Levels
    • decorations / Decorations, Decorations
    • output / Output, Output
    • command-line options / Command-line options, Command-line options
  • Uniform Resource Identifier (URI) / Understanding modular run-time images [JEP-220]
  • UnknownEntityException exception / The UnknownEntityException exception
  • upgrade module path / Module paths
  • URL (Uniform Resource Locator) / Understanding modular run-time images [JEP-220]
  • User-level Statistically Defined Tracing (USDT) / Provide stable USDT probe points on JVM compiled methods
  • user interface
    • defining / Defining the user interface
    • initializing / Initializing the user interface
  • UTF-8 property resource bundle / Support for UTF-8

V

  • value types
    • about / Value types
    • references / Value types
  • variable / Value types
  • variable handlers [JEP 193]
    • working with / Working with variable handlers [JEP 193]
    • components / Working with variable handlers [JEP 193]
    • Atomic Toolkit, working / Working with the AtoMiC Toolkit
    • sun.misc.Unsafe class, using / Using the sun.misc.Unsafe class

W

  • walking methods / Walking methods
  • Windows [JEP 263]
    • HiDPI graphics / HiDPI graphics on Windows and Linux [JEP 263]
  • work stealing / Concurrent Java with a Future interface
  • Wrapper library
    • reference / Building the service
  • wrapper types / Kotlin
  • WYSIWYG / TopComponent - the class for tabs and windows

X

  • Xerces / Merging selected Xerces 2.11.0 updates into JAXP [JEP 255]
  • XML (eXtensible Markup Language) / The OASIS XML Catalog standard
  • XML Catalogs [JEP-268]
    • about / XML Catalogs [JEP-268]
    • OASIS XML Catalog standard / The OASIS XML Catalog standard
    • JAXP processors / JAXP processors
    • prior to Java 9 / XML Catalogs prior to Java 9
    • Java 9 platform, updates / Java 9 platform changes

Y

  • young garbage collection
    • options / Garbage collection options
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image