Table of Contents

OCP

Return to OCP Oracle Certified Professional, OCP Oracle Certified Professional Java SE 17 Developer Study Guide - Exam 1Z0-829 by Scott Selikoff and Jeanne Boyarsky

Table of Contents

Cover

Title Page

Copyright

Dedication

Acknowledgments

About the Authors

About the Technical Editor About the Technical Proofreader

Introduction Understanding the Exam

Reading This Book

Studying for the Exam

Applying Test-Taking Strategies

Taking the Exam

Objective Map

Assessment Test

Chapter 1: Building Blocks Learning about the Environment

Understanding the Class Structure

Writing a main() Method

Understanding Package Declarations and Imports

Creating Objects

Understanding Data Types

Declaring Variables

Initializing Variables

Managing Variable Scope

Destroying Objects

Summary

Exam Essentials

Review Questions

Chapter 2: Operators Understanding Java Operators

Applying Unary Operators

Working with Binary Arithmetic Operators

Assigning Values

Comparing Values

Making Decisions with the Ternary Operator

Summary

Exam Essentials

Review Questions

Chapter 3: Making Decisions Creating Decision-Making Statements

Applying switch Statements

Writing while Loops

Constructing for Loops

Controlling Flow with Branching

Summary

Exam Essentials

Review Questions

Chapter 4: Core APIs Creating and Manipulating Strings

Using the StringBuilder Class

Understanding Equality

Understanding Arrays

Calculating with Math APIs

Working with Dates and Times

Summary

Exam Essentials

Review Questions

Chapter 5: Methods Designing Methods

Declaring Local and Instance Variables

Working with Varargs

Applying Access Modifiers

Accessing static Data

Passing Data among Methods

Overloading Methods

Summary

Exam Essentials

Review Questions

Chapter 6: Class Design Understanding Inheritance

Creating Classes

Declaring Constructors

Initializing Objects

Inheriting Members

Creating Abstract Classes

Creating Immutable Objects

Summary

Exam Essentials

Review Questions

Chapter 7: Beyond Classes Implementing Interfaces

Working with Enums

Sealing Classes

Encapsulating Data with Records

Creating Nested Classes

Understanding Polymorphism

Summary

Exam Essentials

Review Questions

Chapter 8: Lambdas and Functional Interfaces Writing Simple Lambdas

Coding Functional Interfaces

Using Method References

Working with Built-in Functional Interfaces

Working with Variables in Lambdas

Summary

Exam Essentials

Review Questions

Chapter 9: Collections and Generics Using Common Collection APIs

Using the List Interface

Using the Set Interface

Using the Queue and Deque Interfaces

Using the Map Interface

Comparing Collection Types

Sorting Data

Working with Generics

Summary

Exam Essentials

Review Questions

Chapter 10: Streams Returning an Optional

Using Streams

Working with Primitive Streams

Working with Advanced Stream Pipeline Concepts

Summary

Exam Essentials

Review Questions

Chapter 11: Exceptions and Localization Understanding Exceptions

Recognizing Exception Classes

Handling Exceptions

Automating Resource Management

Formatting Values

Supporting Internationalization and Localization

Loading Properties with Resource Bundles

Summary

Exam Essentials

Review Questions

Chapter 12: Modules Introducing Modules

Creating and Running a Modular Program

Updating Our Example for Multiple Modules

Diving into the Module Declaration

Creating a Service

Discovering Modules

Comparing Types of Modules

Migrating an Application

Summary

Exam Essentials

Review Questions

Chapter 13: Concurrency Introducing Threads

Creating Threads with the Concurrency API

Writing Thread-Safe Code

Using Concurrent Collections

Identifying Threading Problems

Working with Parallel Streams

Summary

Exam Essentials

Review Questions

Chapter 14: I/O Referencing Files and Directories

Operating on File and Path

Introducing I/O Streams

Reading and Writing Files

Serializing Data

Interacting with Users

Working with Advanced APIs

Review of Key APIs

Summary

Exam Essentials

Review Questions

Chapter 15: JDBC Introducing Relational Databases and SQL

Introducing the Interfaces of JDBC

Connecting to a Database

Working with a PreparedStatement

Getting Data from a ResultSet

Calling a CallableStatement

Controlling Data with Transactions

Closing Database Resources

Summary

Exam Essentials

Review Questions

Appendix: Answers to the Review Questions Chapter 1: Building Blocks

Chapter 2: Operators

Chapter 3: Making Decisions

Chapter 4: Core APIs

Chapter 5: Methods

Chapter 6: Class Design

Chapter 7: Beyond Classes

Chapter 8: Lambdas and Functional Interfaces

Chapter 9: Collections and Generics

Chapter 10: Streams

Chapter 11: Exceptions and Localization

Chapter 12: Modules

Chapter 13: Concurrency

Chapter 14: I/O

Chapter 15: JDBC

Index

End User License Agreement

List of Tables

Introduction TABLE I.1 Exam information

Chapter 1 TABLE 1.1 Setup procedure by operating system

TABLE 1.2 Important javac options

TABLE 1.3 Important java options

TABLE 1.4 Important jar options

TABLE 1.5 Order for declaring a class

TABLE 1.6 Primitive types

TABLE 1.7 Wrapper classes

TABLE 1.8 Text block formatting

TABLE 1.9 Reserved words

TABLE 1.10 Tracking scope by block

Chapter 2 TABLE 2.1 Order of operator precedence

TABLE 2.2 Unary operators

TABLE 2.3 Increment and decrement operators

TABLE 2.4 Binary arithmetic operators

TABLE 2.5 Simple assignment operator

TABLE 2.6 Compound assignment operators

TABLE 2.7 Equality operators

TABLE 2.8 Relational operators

TABLE 2.9 Logical operators

TABLE 2.10 Conditional operators

Chapter 3 TABLE 3.1 Control statement usage

Chapter 4 TABLE 4.1 Rules for indent() and stripIndent()

TABLE 4.2 Common formatting symbols

TABLE 4.3 Binary search rules

TABLE 4.4 Arrays.compare() examples

TABLE 4.5 Equality vs. comparison vs. mismatch

TABLE 4.6 Methods in LocalDate, LocalTime, LocalDateTime, and ZonedDateTime…

TABLE 4.7 Where to use Duration and Period

Chapter 5 TABLE 5.1 Parts of a method declaration in Figure 5.1

TABLE 5.2 Optional specifiers for methods

TABLE 5.3 Optional specifiers for instance variables

TABLE 5.4 A method in ______ can access a ______ member.

TABLE 5.5 Static vs. instance calls

TABLE 5.6 The order that Java uses to choose the right overloaded method

Chapter 6 TABLE 6.1 Class modifiers

Chapter 7 TABLE 7.1 Interface member types

TABLE 7.2 Interface member access

TABLE 7.3 Usage of the permits clause in sealed classes

TABLE 7.4 Modifiers in nested classes

TABLE 7.5 Nested class access rules

Chapter 8 TABLE 8.1 Valid lambdas that return a boolean

TABLE 8.2 Invalid lambdas that should return a boolean

TABLE 8.3 Method references

TABLE 8.4 Common functional interfaces

TABLE 8.5 Convenience methods

TABLE 8.6 Common functional interfaces for primitives

TABLE 8.7 Primitive-specific functional interfaces

TABLE 8.8 Rules for accessing a variable from a lambda body inside a method…

Chapter 9 TABLE 9.1 Factory methods to create a List

TABLE 9.2 List methods

TABLE 9.3 Queue methods

TABLE 9.4 Deque methods

TABLE 9.5 Using a Deque as a stack

TABLE 9.6 Map methods

TABLE 9.7 Behavior of the merge() method

TABLE 9.8 Java Collections Framework types

TABLE 9.9 Collection attributes

TABLE 9.10 Comparison of Comparable and Comparator

TABLE 9.11 Helper static methods for building a Comparator

TABLE 9.12 Helper default methods for building a Comparator

TABLE 9.13 Types of bounds

TABLE 9.14 Why we need a lower bound

Chapter 10 TABLE 10.1 Common Optional instance methods

TABLE 10.2 Intermediate vs. terminal operations

TABLE 10.3 Creating a source

TABLE 10.4 Terminal stream operations

TABLE 10.5 Common primitive stream methods

TABLE 10.6 Mapping methods between types of streams

TABLE 10.7 Function parameters when mapping between types of streams

TABLE 10.8 Optional types for primitives

TABLE 10.9 Spliterator methods

TABLE 10.10 Examples of grouping/partitioning collectors

Chapter 11 TABLE 11.1 Types of exceptions and errors

TABLE 11.2 Unchecked exceptions

TABLE 11.3 Checked exceptions

TABLE 11.4 Errors

TABLE 11.5 DecimalFormat symbols

TABLE 11.6 Common date/time symbols

TABLE 11.7 Supported date/time symbols

TABLE 11.8 Factory methods to get a NumberFormat

TABLE 11.9 Factory methods to get a DateTimeFormatter

TABLE 11.10 Locale.Category values

TABLE 11.11 Picking a resource bundle for French/France with default locale …

TABLE 11.12 Selecting resource bundle properties

Chapter 12 TABLE 12.1 Options you need to know for using modules with javac

TABLE 12.2 Options you need to know for using modules with java

TABLE 12.3 Access control with modules

TABLE 12.4 Reviewing services

TABLE 12.5 Reviewing directives

TABLE 12.6 Common modules

TABLE 12.7 Java modules prefixed with java

TABLE 12.8 Java modules prefixed with jdk

TABLE 12.9 Modes using jmod

TABLE 12.10 Comparing command-line operations

TABLE 12.11 Options you need to know for the exam: javac

TABLE 12.12 Options you need to know for the exam: java

TABLE 12.13 Options you need to know for the exam: jar

TABLE 12.14 Options you need to know for the exam: jdeps

TABLE 12.15 Options you need to know for the exam: jlink

TABLE 12.16 Practicing with automatic module names

TABLE 12.17 Properties of module types

TABLE 12.18 Comparing migration strategies

Chapter 13 TABLE 13.1 ExecutorService methods

TABLE 13.2 Future methods

TABLE 13.3 TimeUnit values

TABLE 13.4 ScheduledExecutorService methods

TABLE 13.5 Executors factory methods

TABLE 13.6 Atomic classes

TABLE 13.7 Common atomic methods

TABLE 13.8 Lock methods

TABLE 13.9 Concurrent collection classes

TABLE 13.10 Synchronized Collections methods

Chapter 14 TABLE 14.1 File-system symbols

TABLE 14.2 Options for creating File and Path

TABLE 14.3 Common File and Path operations

TABLE 14.4 Common File and Files operations

TABLE 14.5 Common NIO.2 method arguments

TABLE 14.6 Path APIs

TABLE 14.7 The java.io abstract stream base classes

TABLE 14.8 The java.io concrete I/O stream classes

TABLE 14.9 Common I/O read and write methods

TABLE 14.10 Common Files NIO.2 read and write methods

TABLE 14.11 Common I/O stream methods

TABLE 14.12 The attributes and view types

TABLE 14.13 Walking a directory with a cycle using breadth-first search

TABLE 14.14 Key APIs

Chapter 15 TABLE 15.1 CRUD operations

TABLE 15.2 SQL

TABLE 15.3 SQL runnable by the execute method

TABLE 15.4 Return types of execute methods

TABLE 15.5 PreparedStatement methods

TABLE 15.6 ResultSet get methods

TABLE 15.7 Sample stored procedures

TABLE 15.8 Stored procedure parameter types

TABLE 15.9 Connection APIs for transactions

List of Illustrations

Chapter 1 FIGURE 1.1 Compiling with packages

FIGURE 1.2 Compiling with packages and directories

FIGURE 1.3 Text block

FIGURE 1.4 Your drawing after line 5

FIGURE 1.5 Your drawing after line 7

Chapter 2 FIGURE 2.1 Java operation

FIGURE 2.2 The logical truth tables for &, ]] | [[, and ^

Chapter 3 FIGURE 3.1 The structure of an if statement

FIGURE 3.2 The structure of an else statement

FIGURE 3.3 The structure of a switch statement

FIGURE 3.4 The structure of a switch expression

FIGURE 3.5 The structure of a while statement

FIGURE 3.6 The structure of a do/while statement

FIGURE 3.7 The structure of a basic for loop

FIGURE 3.8 The structure of an enhanced for-each loop

FIGURE 3.9 The structure of a break statement

FIGURE 3.10 The structure of a continue statement

Chapter 4 FIGURE 4.1 Indexing for a string

FIGURE 4.2 Indexes for a substring

FIGURE 4.3 The basic structure of an array

FIGURE 4.4 An empty array

FIGURE 4.5 An initialized array

FIGURE 4.6 An array pointing to strings

FIGURE 4.7 A sparsely populated multidimensional array

FIGURE 4.8 An asymmetric multidimensional array

FIGURE 4.9 Period format

FIGURE 4.10 How daylight saving time works

Chapter 5 FIGURE 5.1 Method declaration

FIGURE 5.2 Classes used to show private and package access

FIGURE 5.3 Classes used to show protected access

FIGURE 5.4 Copying a reference with pass-by-value

Chapter 6 FIGURE 6.1 Subclass and superclass declarations

FIGURE 6.2 Types of inheritance

FIGURE 6.3 Java object inheritance

Chapter 7 FIGURE 7.1 Defining an interface

FIGURE 7.2 Implementing an interface

FIGURE 7.3 Interface Inheritance

FIGURE 7.4 Defining a simple enum

FIGURE 7.5 Defining a sealed class

FIGURE 7.6 Defining a record

FIGURE 7.7 Declaring a compact constructor

FIGURE 7.8 Object vs. reference

Chapter 8 FIGURE 8.1 Lambda syntax omitting optional parts

FIGURE 8.2 Lambda syntax including optional parts

Chapter 9 FIGURE 9.1 Java Collections Framework

FIGURE 9.2 Example of a List

FIGURE 9.3 Example of a Set

FIGURE 9.4 Examples of a HashSet and TreeSet

FIGURE 9.5 Example of a Deque

FIGURE 9.6 Working with a Deque

FIGURE 9.7 Working with a stack

FIGURE 9.8 Example of a Map

Chapter 10 FIGURE 10.1 Optional

FIGURE 10.2 Stream pipeline

FIGURE 10.3 Steps in running a stream pipeline

FIGURE 10.4 A stream pipeline with a limit

FIGURE 10.5 Stream pipeline with multiple intermediate operations

Chapter 11 FIGURE 11.1 Categories of exception

FIGURE 11.2 The syntax of a try statement

FIGURE 11.3 The syntax of a multi-catch block

FIGURE 11.4 The syntax of a try statement with finally

FIGURE 11.5 The syntax of a basic try-with-resources statement

FIGURE 11.6 Locale formats

Chapter 12 FIGURE 12.1 Design of a modular system

FIGURE 12.2 Looking inside a module

FIGURE 12.3 Contents of zoo.animal.feeding

FIGURE 12.4 Module zoo.animal.feeding directory structure

FIGURE 12.5 Running a module using java

FIGURE 12.6 Modules depending on zoo.animal.feeding

FIGURE 12.7 Contents of zoo.animal.care

FIGURE 12.8 Dependencies for zoo.animal.talks

FIGURE 12.9 Contents of zoo.animal.talks

FIGURE 12.10 Contents of zoo.staff

FIGURE 12.11 Dependencies for zoo.staff

FIGURE 12.12 Transitive dependency version of our modules

FIGURE 12.13 Modules in the tour application

FIGURE 12.14 Determining the order

FIGURE 12.15 Determining the order when not unique

FIGURE 12.16 Bottom-up migration

FIGURE 12.17 Top-down migration

FIGURE 12.18 First attempt at decomposition

FIGURE 12.19 Removing the cyclic dependencies

Chapter 13 FIGURE 13.1 Process model

FIGURE 13.2 Thread states

FIGURE 13.3 ExecutorService life cycle

FIGURE 13.4 Lack of thread synchronization

FIGURE 13.5 Thread synchronization using atomic operations

FIGURE 13.6 Race condition on user creation

Chapter 14 FIGURE 14.1 Directory and file hierarchy

FIGURE 14.2 Relative paths using path symbols

FIGURE 14.3 I/O and NIO.2 class and interface relationships

FIGURE 14.4 Comparing file uniqueness

FIGURE 14.5 Visual representation of an I/O stream

FIGURE 14.6 Serialization process

FIGURE 14.7 File system with cycle

FIGURE 14.8 Diagram of I/O stream classes

Chapter 15 FIGURE 15.1 Tables in our relational database

FIGURE 15.2 Key JDBC interfaces

FIGURE 15.3 The JDBC URL format

FIGURE 15.4 Types of statements

FIGURE 15.5 The ResultSet cursor

Java Vocabulary List (Sorted by Popularity)

Java Programming Language, Java Virtual Machine (JVM), Java Development Kit (JDK), Java Runtime Environment (JRE), Java Class, Java Interface, Java Method, Java Object, Java Package, Java String, Java Integer, Java Array, Java List, Java Map, Java Set, Java Exception, Java Thread, Java Synchronization, Java Generic, Java Annotation, Java Stream, Java Lambda Expression, Java Inheritance, Java Polymorphism, Java Encapsulation, Java Abstraction, Java Access Modifier, Java Constructor, Java Overloading, Java Overriding, Java Collection Framework, Java ArrayList, Java HashMap, Java HashSet, Java LinkedList, Java TreeMap, Java TreeSet, Java Iterator, Java Enumeration, Java File, Java InputStream, Java OutputStream, Java Reader, Java Writer, Java BufferedReader, Java BufferedWriter, Java PrintWriter, Java PrintStream, Java Scanner, Java StringBuilder, Java StringBuffer, Java Character, Java Boolean, Java Double, Java Float, Java Byte, Java Short, Java Long, Java BigInteger, Java BigDecimal, Java ClassLoader, Java Reflection, Java Proxy, Java Dynamic Proxy, Java Inner Class, Java Static Nested Class, Java Anonymous Class, Java Enum, Java Autoboxing, Java Auto-Unboxing, Java Garbage Collection, Java Memory Model, Java Just-In-Time Compilation, Java Classpath, Java Module, Java Module Path, Java Record, Java Sealed Class, Java Switch Expression, Java Pattern Matching for instanceof, Java Text Block, Java Var Keyword, Java Interface Default Method, Java Interface Static Method, Java Functional Interface, Java SAM (Single Abstract Method) Interface, Java Optional, Java Stream API, Java Collectors, Java Parallel Streams, Java Concurrency Package, Java Executor, Java ExecutorService, Java Future, Java CompletableFuture, Java ForkJoinPool, Java ReentrantLock, Java Semaphore, Java CountDownLatch, Java CyclicBarrier, Java Phaser, Java BlockingQueue, Java ConcurrentHashMap, Java AtomicInteger, Java AtomicLong, Java AtomicReference, Java AtomicBoolean, Java Lock Interface, Java ReadWriteLock, Java Condition, Java ThreadLocal, Java Synchronized Keyword, Java Volatile Keyword, Java Notify, Java Wait, Java Monitor, Java ReentrantReadWriteLock, Java ConcurrentLinkedQueue, Java PriorityQueue, Java Deque, Java ArrayDeque, Java SortedMap, Java SortedSet, Java NavigableMap, Java NavigableSet, Java EnumSet, Java EnumMap, Java WeakHashMap, Java LinkedHashMap, Java LinkedHashSet, Java IdentityHashMap, Java TreeMap Comparator, Java HashCode, Java Equals Method, Java CompareTo Method, Java Cloneable Interface, Java Serializable Interface, Java Externalizable Interface, Java Serialization Mechanism, Java ObjectOutputStream, Java ObjectInputStream, Java Transient Keyword, Java Persistence, Java JDBC (Java Database Connectivity), Java SQL Package, Java PreparedStatement, Java ResultSet, Java DriverManager, Java Connection, Java Statement, Java CallableStatement, Java RowSet, Java Bean, Java PropertyDescriptor, Java Introspector, Java BeanInfo, Java Enterprise Edition, Java Servlet, Java ServletContext, Java HttpServlet, Java HttpServletRequest, Java HttpServletResponse, Java Session, Java Filter, Java Listener, Java JSP (Java Server Pages), Java Expression Language, Java JSTL (JavaServer Pages Standard Tag Library), Java JDBC RowSet, Java DataSource, Java JNDI (Java Naming and Directory Interface), Java RMI (Remote Method Invocation), Java RMI Registry, Java RMI Stub, Java RMI Skeleton, Java RMI Remote Interface, Java CORBA Support, Java IDL, Java NamingException, Java InitialContext, Java Context Lookup, Java Message Service (JMS), Java Mail API, Java Bean Validation, Java Security Manager, Java Policy, Java Permission, Java AccessController, Java PrivilegedAction, Java KeyStore, Java TrustStore, Java SSLContext, Java Cipher, Java MessageDigest, Java KeyFactory, Java SecretKey, Java PublicKey, Java PrivateKey, Java Certificate, Java SecureRandom, Java SecureClassLoader, Java GSS-API (Generic Security Services), Java SASL (Simple Authentication and Security Layer), Java JAAS (Java Authentication and Authorization Service), Java Kerberos Integration, Java PKI (Public Key Infrastructure), Java JCE (Java Cryptography Extension), Java JCA (Java Cryptography Architecture), Java AWT (Abstract Window Toolkit), Java Swing, Java JFrame, Java JPanel, Java JLabel, Java JButton, Java JTextField, Java JTextArea, Java JScrollPane, Java JList, Java JComboBox, Java JTable, Java JTree, Java JDialog, Java JOptionPane, Java JProgressBar, Java JSlider, Java JSpinner, Java BoxLayout, Java BorderLayout, Java FlowLayout, Java GridLayout, Java GridBagLayout, Java CardLayout, Java LayoutManager, Java Drag and Drop, Java Clipboard, Java ImageIO, Java BufferedImage, Java Graphics2D, Java Font, Java Color, Java GradientPaint, Java TexturePaint, Java Stroke, Java Shape, Java AffineTransform, Java Path2D, Java BasicStroke, Java RenderingHints, Java GraphicsEnvironment, Java Robot, Java PrintService, Java PrinterJob, Java Paint Event, Java SwingUtilities, Java Pluggable LookAndFeel, Java Metal LookAndFeel, Java Nimbus LookAndFeel, Java Accessibility API, Java Sound API, Java MIDI, Java Clip, Java AudioInputStream, Java Sequencer, Java Synthesizer, Java Line, Java Port, Java Mixer, Java DataLine, Java Applet, Java Web Start, Java FX (JavaFX), Java SceneGraph, Java Node (JavaFX), Java Stage (JavaFX), Java Scene (JavaFX), Java Pane (JavaFX), Java GridPane, Java BorderPane, Java HBox, Java VBox, Java StackPane, Java AnchorPane, Java FlowPane, Java TilePane, Java Label (JavaFX), Java Button (JavaFX), Java TextField (JavaFX), Java TextArea (JavaFX), Java ChoiceBox, Java ComboBox (JavaFX), Java ListView, Java TableView, Java TreeView, Java WebView, Java Observable, Java Property (JavaFX), Java Binding (JavaFX), Java CSS (JavaFX), Java FXML, Java MediaPlayer, Java SwingNode, Java HTMLEditor (JavaFX), Java Concurrency in JavaFX, Java ScheduledExecutorService, Java Timer, Java TimerTask, Java ThreadPoolExecutor, Java WorkStealingPool, Java Callable, Java Runnable, Java FutureTask, Java LockSupport, Java Phaser Parties, Java Thread Dump, Java Heap Dump, Java Flight Recorder, Java Mission Control, Java JVMTI (JVM Tool Interface), Java JMX (Java Management Extensions), Java MBean, Java MBeanServer, Java MXBean, Java GarbageCollectorMXBean, Java MemoryMXBean, Java OperatingSystemMXBean, Java ThreadMXBean, Java CompilationMXBean, Java ClassLoadingMXBean, Java PlatformManagedObject, Java Instrumentation API, Java Attach API, Java JVMDebugger, Java JDWP (Java Debug Wire Protocol), Java JDI (Java Debug Interface), Java JShell, Java Scripting API, Java Nashorn (JavaScript Engine), Java XML Processing, Java DOM Parser, Java SAX Parser, Java StAX Parser, Java JAXB (Java Architecture for XML Binding), Java JAXP (Java API for XML Processing), Java SOAP, Java JAX-WS (Java API for XML Web Services), Java RESTful Web Services (JAX-RS), Java JSON Processing (JSON-P), Java JSON Binding (JSON-B), Java CDI (Contexts and Dependency Injection), Java EJB (Enterprise JavaBeans), Java JMS (Java Message Service), Java JTA (Java Transaction API), Java Bean Validation (JSR 380), Java Dependency Injection Frameworks, Java Spring Framework, Java Spring Boot, Java Hibernate (Java Persistence Framework), Java JPA (Java Persistence API), Java JAX-RPC (Java API for XML-based RPC), Java AppServer, Java GlassFish, Java WildFly, Java Liberty Profile, Java Tomcat, Java Jetty, Java Undertow, Java OSGi (Open Service Gateway Initiative), Java Pax Exam, Java RAP (Remote Application Platform), Java RCP (Rich Client Platform), Java Equinox, Java Tycho Build, Java Lombok, Java Guava, Java SLF4J (Simple Logging Facade for Java), Java Logback, Java JUL (Java Util Logging), Java Log4j, Java Commons Collections, Java Commons IO, Java Commons Lang, Java HTTPClient, Java URLConnection, Java URI Class, Java URL Class, Java Cookie Handler, Java HTTPServer, Java WebSocket API, Java AppletViewer, Java RMIClassLoader, Java JVMPauseDetector, Java Memory Settings, Java System Properties, Java Environment Variables (As Accessed by Java), Java ServiceLoader, Java SPI (Service Provider Interface), Java Instrumentation Rewriting, Java Agent Attaching, Java Runtime Exec, Java ProcessHandle, Java ProcessBuilder, Java ScriptingEngineManager, Java ScriptEngine, Java ScriptContext, Java CompiledScript, Java FX Application Thread, Java FXProperty, Java FXObservableValue, Java FXKeyFrame, Java FXTimeline, Java FXTransition, Java FXImageView, Java FXCanvas, Java FX3D Features, Java AOT Compilation (jaotc), Java GraalVM Integration, Java JNI (Java Native Interface), Java NIO (Non-Blocking I/O), Java Path, Java Files Class, Java FileSystem, Java FileChannel, Java AsynchronousFileChannel, Java Socket, Java ServerSocket, Java DatagramSocket, Java MulticastSocket, Java SocketChannel, Java ServerSocketChannel, Java DatagramChannel, Java Pipe, Java FileLock, Java MappedByteBuffer, Java CharsetDecoder, Java CharsetEncoder, Java SecretKeySpec, Java KeySpec, Java KeyPair, Java KeyAgreement, Java KeyGenerator, Java Mac (Message Authentication Code), Java PolicySpi, Java SecureRandomSpi, Java CertPath, Java CertPathBuilder, Java CertPathValidator, Java TrustManager, Java KeyManager, Java SSLSession, Java SSLSocket, Java SSLServerSocket, Java SSLEngine, Java SSLParameters, Java HttpsURLConnection, Java DomainCombiner, Java Principal, Java Subject, Java LoginContext, Java CallbackHandler, Java TextField (Swing), Java TextPane, Java StyledDocument, Java AttributeSet, Java StyleConstants, Java AbstractDocument, Java DocumentFilter, Java Caret, Java Highlighter, Java UndoManager, Java DefaultStyledDocument, Java ViewFactory, Java EditorKit, Java KeyStroke, Java ActionMap, Java InputMap, Java RootPane, Java GlassPane, Java LayeredPane, Java MenuBar, Java MenuItem, Java JMenu, Java JMenuItem, Java JCheckBoxMenuItem, Java JRadioButtonMenuItem, Java PopupMenu, Java Popup, Java TooltipManager, Java DesktopManager, Java InternalFrame, Java InternalFrameUI, Java InternalFrameAdapter, Java DockingFrames, Java SystemTray, Java TrayIcon, Java Robot Class, Java PrintServiceLookup, Java FlavorMap, Java Transferable, Java DataFlavor, Java DragGestureRecognizer, Java DropMode, Java DropTargetAutoScroll, Java DropTargetContext, Java DropTargetListener, Java DropTargetDragEvent, Java DropTargetDropEvent, Java BasicLookAndFeel Class, Java SynthLookAndFeel, Java UIDefaults, Java UIManager, Java ClientPropertyKey, Java ImageIOSpi, Java ImageWriter, Java ImageReader, Java ImageInputStream, Java ImageOutputStream, Java IIOMetadata, Java BufferedImageOp, Java ColorModel, Java WritableRaster, Java IndexColorModel, Java Raster, Java RenderedImage, Java WritableRenderedImage, Java ImageTranscoder, Java ImageWriterSpi, Java ImageReaderSpi, Java Soundbank, Java MidiChannel, Java MidiDevice, Java MidiEvent, Java Sequence, Java MidiFileFormat, Java SoundFont, Java AudioSystem, Java AudioFormat, Java DataLine.Info, Java LineEvent, Java LineListener, Java Clip Class, Java SourceDataLine, Java TargetDataLine, Java Port.Info, Java Mixer.Info, Java Gervill (SoftSynthesizer), Java AccessBridge, Java AWTEvent, Java KeyEvent, Java MouseEvent, Java FocusEvent, Java WindowEvent, Java ComponentEvent, Java AdjustmentEvent, Java ContainerEvent, Java InputMethodEvent, Java HierarchyEvent, Java InvocationEvent, Java PaintEvent, Java DropTargetEvent, Java Peer Interface, Java AWTEventMulticaster, Java Toolkit, Java Desktop, Java GraphicsConfiguration, Java GraphicsDevice, Java AWTKeyStroke, Java TextHitInfo, Java TextLayout, Java TextAttribute, Java FontRenderContext, Java AttributedString, Java LineBreakMeasurer, Java Bidi, Java BreakIterator, Java Collator, Java Locale, Java ResourceBundle, Java Formatter, Java Format Conversion, Java SimpleDateFormat, Java DecimalFormat, Java MessageFormat, Java ChoiceFormat, Java ScannerDelimiter, Java System.Logger, Java Logger, Java Level, Java LogRecord, Java ConsoleHandler, Java FileHandler, Java MemoryHandler, Java SocketHandler, Java SimpleFormatter, Java XMLFormatter, Java Preferences, Java PreferenceChangeEvent, Java NodeChangeEvent, Java PrinterException, Java PrinterAbortException, Java PrintException, Java PrintQuality, Java PrintServiceAttribute, Java ServiceUI, Java Pageable, Java Printable, Java Book, Java TablePrintable, Java StreamPrintService, Java StreamPrintServiceFactory, Java Filer (Annotation Processing), Java Messager, Java ProcessingEnvironment, Java Element, Java ElementKind, Java ElementVisitor, Java PackageElement, Java TypeElement, Java VariableElement, Java ExecutableElement, Java AnnotationMirror, Java AnnotationValue, Java AnnotationProcessor, Java RoundEnvironment, Java TypeMirror, Java DeclaredType, Java ArrayType, Java TypeVariable, Java WildcardType, Java NoType, Java ErrorType, Java UnionType, Java IntersectionType, Java JavacTool, Java StandardJavaFileManager, Java Diagnostic, Java DiagnosticCollector, Java ForwardingJavaFileManager, Java ForwardingJavaFileObject, Java ForwardingJavaFileObject, Java SPI ServiceLoader, Java ToolProvider, Java DocumentationTool, Java JavaCompiler, Java JShellTool, Java DiagnosticListener, Java CompilationTask, Java ModuleElement, Java ModuleLayer, Java ModuleDescriptor, Java ModuleFinder

OLD before GPT Pro: Abstract Classes, Abstract Methods, Abstract Window Toolkit, Access Control Exception, Access Modifiers, Accessible Object, AccessController Class, Action Event, Action Listener, Action Performed Method, Adapter Classes, Adjustment Event, Adjustment Listener, Annotation Processing Tool, Annotations, AnnotationTypeMismatchException, Anonymous Classes, Applet Class, Applet Context, Applet Lifecycle Methods, Application Class Data Sharing, Array Blocking Queue, Array Index Out of Bounds Exception, Array List, Array Store Exception, Arrays Class, Assertion Error, Assertions, Assignment Operator, Asynchronous File Channel, Atomic Boolean, Atomic Integer, Atomic Long, Atomic Reference, Attribute Set, Audio Clip, Authentication Mechanisms, Auto Closeable Interface, Auto Boxing, AWT Components, AWT Event Queue, AWT Listeners, AWT Toolkit, Backing Store, Background Compilation, Batch Updates, Bean Context, Bean Descriptors, Bean Info, Big Decimal Class, Big Integer Class, Binary Compatibility, Binding Utilities, Bit Set Class, Bitwise Operators in Java, Blocking Queue Interface, Boolean Class, Bounded Wildcards, Breakpoint, Buffered Input Stream, Buffered Output Stream, Buffered Reader, Buffered Writer, BufferOverflowException, BufferUnderflowException, Button Class, Byte Array Input Stream, Byte Array Output Stream, Byte Order, ByteBuffer Class, Bytecode Instructions, Bytecode Verifier, Callable Interface, Callable Statement, Calendar Class, Canvas Class, Card Layout, Caret Listener, Case Sensitivity in Java, Casting in Java, Catch Block, Certificate Exception, Character Class, Character Encoding, Character Set, Character.UnicodeBlock, Charset Class, Checked Exceptions, Checkbox Class, Choice Component, Class Class, Class Files, Class Loader, Class Loader Hierarchy, Class Loading Mechanism, Class Not Found Exception, Class Object, Class Path, ClassCastException, ClassCircularityError, ClassFormatError, ClassLoader, ClassNotFoundException, Clone Method, CloneNotSupportedException, Cloneable Interface, Clipboard Class, Cloneable Interface, ClosedChannelException, Collections Framework, Collections Utility Class, Collector Interface, Collectors Class, Color Class, Column Major Order, Comparable Interface, Comparator Interface, Compiler API, Compiler Directives, Compiler Optimization, Component Class, Component Event, Component Listener, Composite Pattern, ConcurrentHashMap, ConcurrentLinkedQueue, ConcurrentModificationException, ConcurrentNavigableMap, ConcurrentSkipListMap, ConcurrentSkipListSet, Condition Interface, Connection Interface, Console Class, Constructor Overloading, Consumer Interface, Container Class, ContainerEvent, Content Handler, ContentHandlerFactory, Context Class Loader, Continue Statement, Control Flow Statements, CountDownLatch Class, CRC32 Class, Credential Management, Critical Section, CyclicBarrier Class, Daemon Threads, Data Class, Data Input Interface, Data Input Stream, Data Output Interface, Data Output Stream, Data Truncation Exception, Date Class, Daylight Saving Time Handling, Deadlock in Java, Debugging Techniques, DecimalFormat Class, Default Methods in Interfaces, Deflater Class, Deprecated Annotation, Design Patterns in Java, Desktop Class, Diamond Operator, Dialog Class, Dictionary Class, DigestInputStream, DigestOutputStream, Direct Byte Buffer, DirectoryStream Interface, Document Object Model, DOM Parsing in Java, Double Brace Initialization, Double Class, Drag and Drop API, Driver Manager, Drop Shadow Effect, Dynamic Binding, Dynamic Proxy Classes, Element Interface, Ellipse2D Class, EmptyStackException, Encapsulation in Java, Enum Classes, Enum Constant, EnumSet Class, Enumeration Interface, EOFException, Error Handling in Java, Error Prone Practices, Event Delegation Model, Event Handling Mechanism, Event Listener Interfaces, Event Object, Event Queue, EventQueue Class, Exception Chaining, Exception Handling Mechanism, Executable Jar Files, Executor Interface, Executor Service, Executors Class, Expression Evaluation, Extends Keyword, Externalizable Interface, File Class, File Channel, File Descriptor, File Filter Interface, File Input Stream, File Lock Mechanism, File Output Stream, File Permission, File Reader, File Writer, FileDialog Class, FilenameFilter Interface, FileNotFoundException, Final Classes, Final Keyword, Finally Block, Finalize Method, Finalizer Guardian Idiom, Float Class, Flow Layout, Flow API, Focus Listener, Font Class, For Each Loop, ForkJoinPool Class, Formatter Class, Frame Class, Functional Interfaces, Future Interface, FutureTask Class, Garbage Collection Mechanism, Garbage Collector, Generics in Java, Generic Methods, Generic Types, Geometry Classes, Glyph Vector, GradientPaint Class, Graphics Class, Graphics2D Class, Grid Bag Constraints, Grid Bag Layout, Grid Layout, GregorianCalendar Class, Group Layout, GUI Components in Java, GZIPInputStream, GZIPOutputStream, Hash Collision, Hash Function, Hash Map Class, Hash Set Class, Hashtable Class, HashCode Method, Headless Exception, Heap Memory, Hello World Program in Java, Hierarchical Inheritance, High-Level Concurrency API, HTTP Client in Java, HTTP Server in Java, Icon Interface, Identifier Naming Convention, If Statement, IllegalArgumentException, IllegalMonitorStateException, IllegalStateException, IllegalThreadStateException, Image Class, ImageIcon Class, Immutable Classes, Import Statement, InaccessibleObjectException, Inheritance in Java, InitialContext Class, Inner Classes, Input Method Framework, Input Stream, InputStreamReader Class, Instance Initializer Block, Instance Variables, InstantiationException, Integer Class, Integer Overflow and Underflow, InterruptedException, InterruptedIOException, Interface in Java, InternalError, Internationalization, IO Exception, IO Streams in Java, Iterable Interface, Iterator Interface, Jar Entry, Jar File, JarInputStream Class, JarOutputStream Class, Java Access Bridge, Java Annotations, Java API Documentation, Java Applets, Java Archive (JAR), Java Beans, Java Bytecode, Java Class Library, Java Collections Framework, Java Community Process, Java Compiler, Java Database Connectivity (JDBC), Java Development Kit (JDK), Java Documentation Comments, Java Flight Recorder, Java Garbage Collector, Java Generics, Java Memory Model, Java Native Interface (JNI), Java Naming and Directory Interface (JNDI), Java Network Launching Protocol (JNLP), Java Platform, Java Plugin, Java Reflection API, Java Remote Method Invocation (RMI), Java Runtime Environment (JRE), Java Security Manager, Java Serialization, Java Server Pages (JSP), Java Stream API, Java Swing, Java Virtual Machine (JVM), Java Web Start, JavaFX Platform, javax Package, Javadoc Tool, JAR Signing Mechanism, JDBC API, JDBC Drivers, JFrame Class, JIT Compiler, JLabel Class, JLayeredPane Class, JList Component, JMenu Component, JOptionPane Class, JPanel Class, JPasswordField Component, JProgressBar Component, JScrollBar Component, JScrollPane Component, JSeparator Component, JSlider Component, JSplitPane Component, JTabbedPane Component, JTable Component, JTextArea Component, JTextField Component, JTextPane Component, JToolBar Component, JTree Component, JVM Arguments, JVM Memory Model, Key Event, Key Listener Interface, Key Stroke Class, KeyException, KeySpec Interface, Keyword in Java, Label Class, Lambda Expressions in Java, Layout Manager, LayoutManager2 Interface, Lazy Initialization, Leaf Nodes, Legacy Classes in Java, LineNumberReader Class, Linked Blocking Queue, Linked Hash Map, Linked Hash Set, Linked List Class, List Interface, List Iterator Interface, Listener Interfaces in Java, Load Factor in HashMap, Locale Class, Lock Interface, Logger Class, Logging API in Java, Long Class, Main Method in Java, MalformedURLException, Map Interface, Map.Entry Interface, Marker Interface, Math Class, Media Tracker, Memory Leak in Java, Memory Management in Java, Menu Class, Message Digest, Method Chaining, Method Overloading, Method Overriding, Methods in Java, MIDI Devices in Java, Mouse Adapter Class, Mouse Event, Mouse Listener Interface, Multi-Catch Exception, Multi-Level Inheritance, Multicast Socket, Multidimensional Arrays, Mutable Objects in Java, Naming Convention in Java, Native Methods, Navigable Map, Navigable Set, Nested Classes in Java, Network Interface Class, NoClassDefFoundError, NoSuchFieldException, NoSuchMethodException, Non-Blocking IO (NIO), Null Pointer Exception, Number Class, Number Format Exception, NumberFormat Class, Object Class, Object Cloning, Object Input Stream, Object Oriented Programming, Object Output Stream, Object Serialization in Java, Observer Pattern, Observable Class, OpenGL in Java, Optional Class, OutOfMemoryError, Override Annotation, Package Declaration, Packages in Java, Paint Interface, Panel Class, Parallel Garbage Collector, Parameter Passing in Java, ParseException, Path Interface, Pattern Class, Piped Input Stream, Piped Output Stream, PixelGrabber Class, Point Class, Polymorphism in Java, Prepared Statement, Primitive Data Types in Java, PrintStream Class, PrintWriter Class, Priority Blocking Queue, Priority Queue Class, Private Access Modifier, Process Class, Process Builder Class, Progress Monitor Class, Properties Class, Protected Access Modifier, Proxy Class, Public Access Modifier, Queue Interface, RadioButton Class, Random Access File, Reader Class, ReadWriteLock Interface, Rectangle Class, Recursive Methods, Reflection API in Java, Reference Queue, Regular Expressions in Java, Remote Method Invocation (RMI), Render Quality, Repeatable Annotations, Resource Bundle Class, Resource Leak in Java, ResultSet Interface, ResultSetMetaData Interface, Retry Logic in Java, Return Statement in Java, Runnable Interface, Runtime Class, Runtime Error, Runtime Exception, Runtime Permissions, Runtime Polymorphism, Scanner Class, Scheduling in Java, Script Engine, Scroll Bar Component, Scroll Pane Component, Security Exception, Security Manager, Semaphore Class, Sequence Input Stream, Serializable Interface, ServerSocket Class, Service Loader, Set Interface, Setter Methods, Shared Memory in Java, Short Class, Single Inheritance, Singleton Pattern in Java, Socket Class, SocketTimeoutException, Sorted Map, Sorted Set, Splash Screen, Spring Framework, SQLException, SSL Socket, Stack Class, StackOverflowError, Standard Edition of Java, StandardOpenOption, Statement Interface, StreamTokenizer Class, Strictfp Keyword, String Buffer Class, String Builder Class, String Class, String Constant Pool, StringIndexOutOfBoundsException, String Interning, String Literal in Java, String Pool in Java, String Tokenizer Class, Strong Typing in Java, Structural Patterns, Stub Class, Subclasses in Java, Superclass in Java, Supplier Interface, Support Classes, Swing Components, Swing Timer, Switch Statement in Java, Synchronized Block, Synchronized Method, System Class, System Properties in Java, Tab Pane Component, Table Model Interface, TCP Connection in Java, Template Method Pattern, Text Area Component, Text Field Component, Text Listener Interface, Thread Class, Thread Group, Thread Interruption, Thread Local Class, Thread Priority, Thread Safety in Java, Thread Scheduling, Throwable Class, Time Zone Class, Timer Class, Timer Task Class, Toolkit Class, ToolTip Manager, Transferable Interface, Transient Keyword, Tree Map Class, Tree Set Class, Try With Resources Statement, Type Erasure in Java, Type Inference in Java, Type Parameters, UI Manager Class, Unary Operator Interface, Unchecked Exceptions, UndeclaredThrowableException, Unicode Support in Java, Unmodifiable Collection, Unsafe Class, URL Class, URLConnection Class, URLDecoder Class, URLEncoder Class, URLStreamHandler Class, URLClassLoader Class, User Interface Components, Varargs in Java, Variable Arguments, Variable Scope in Java, Vector Class, Vendor-Specific Extensions, Viewport Class, Virtual Machine in Java, Volatile Keyword, Wait and Notify Methods, Weak Hash Map, Weak Reference, While Loop in Java, Wildcard Generic Types, Window Adapter Class, Window Event, Window Listener Interface, Wrapper Classes in Java, Write Once Run Anywhere, XML Binding in Java, XML Parsing in Java, XML Schema in Java, XPath Expression in Java, XSLT Transformation in Java, Yield Method in Thread, Zip Entry, Zip File, Zip Input Stream, Zip Output Stream, ZoneId Class, ZoneOffset Class

Java: Java Best Practices (Effective Java), Java Fundamentals, Java Inventor - Java Language Designer: James Gosling of Sun Microsystems, Java Docs, JDK, JVM, JRE, Java Keywords, JDK 17 API Specification, java.base, Java Built-In Data Types, Java Data Structures - Java Algorithms, Java Syntax, Java OOP - Java Design Patterns, Java Installation, Java Containerization, Java Configuration, Java Compiler, Java Transpiler, Java IDEs (IntelliJ - Eclipse - NetBeans), Java Development Tools, Java Linter, JetBrains, Java Testing (JUnit, Hamcrest, Mockito), Java on Android, Java on Windows, Java on macOS, Java on Linux, Java DevOps - Java SRE, Java Data Science - Java DataOps, Java Machine Learning, Java Deep Learning, Functional Java, Java Concurrency, Java History,

Java Bibliography (Effective Java, Head First Java, Java - A Beginner's Guide by Herbert Schildt, Java Concurrency in Practice, Clean Code by Robert C. Martin, Java - The Complete Reference by Herbert Schildt, Java Performance by Scott Oaks, Thinking in Java, Java - How to Program by Paul Deitel, Modern Java in Action, Java Generics and Collections by Maurice Naftalin, Spring in Action, Java Network Programming by Elliotte Rusty Harold, Functional Programming in Java by Pierre-Yves Saumont, Well-Grounded Java Developer, Second Edition, Java Module System by Nicolai Parlog), Manning Java Series, Java Glossary - Glossaire de Java - French, Java Topics, Java Courses, Java Security - Java DevSecOps, Java Standard Library, Java Libraries, Java Frameworks, Java Research, Java GitHub, Written in Java, Java Popularity, Java Awesome List, Java Versions. (navbar_java and navbar_java_detailed - see also navbar_jvm, navbar_java_concurrency, navbar_java_standard_library, navbar_java_libraries, navbar_java_best_practices, navbar_openjdk, navbar_java_navbars, navbar_kotlin)


Cloud Monk is Retired ( for now). Buddha with you. © 2025 and Beginningless Time - Present Moment - Three Times: The Buddhas or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.