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: 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, 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_navbars)
© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.