Details

OCP Oracle Certified Professional Java SE 17 Developer Study Guide


OCP Oracle Certified Professional Java SE 17 Developer Study Guide

Exam 1Z0-829
1. Aufl.

von: Scott Selikoff, Jeanne Boyarsky

41,99 €

Verlag: Wiley
Format: EPUB
Veröffentl.: 24.03.2022
ISBN/EAN: 9781119864592
Sprache: englisch
Anzahl Seiten: 1056

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

<p><b>An effective and practical study aid to the new OCP Java SE 17 Developer certification exam</b></p> <p>In the <i>OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829</i>, you'll find accessible and essential test prep material for the in-demand and practical OCP Java SE 17 Developer certification. Providing comprehensive coverage of all OCP Java SE 17 exam objectives and competencies, the Study Guide offers you access to all the skills and knowledge you'll need to succeed on the test and in the field as a new or experienced Java developer.</p> <p>This book provides material on records, sealed classes, text blocks, dates, streams, controlling program flow, using the Java object-oriented approach, handling exceptions, working with arrays and collections, and more. You'll also get:</p> <ul> <li>Intuitively organized information that aligns with the competencies tested on the exam and those required by real-world Java developers</li> <li>Opportunities to practice and develop skills that remain in high demand in the IT industry</li> <li>Access to the Sybex online learning center, with chapter review questions, full-length practice exams, hundreds of electronic flashcards, and a glossary of key terms</li> </ul> <p>Perfect for anyone prepping for the brand-new OCP Java SE 17 credential, <i>OCP Oracle Certified Professional Java SE 17 Developer Study Guide: Exam 1Z0-829</i> is also a can't-miss reference for practicing and aspiring Java developers seeking to learn or reinforce their foundational skills in Java programming and improve their performance on the job.</p>
<p>Introduction xxiii</p> <p>Assessment Test xlv<br /> <b>Chapter 1 Building Blocks 1</b></p> <p>Learning about the Environment 2</p> <p>Major Components of Java 2</p> <p>Downloading a JDK 3</p> <p>Understanding the Class Structure 4</p> <p>Fields and Methods 4</p> <p>Comments 5</p> <p>Classes and Source Files 7</p> <p>Writing a main() Method 8</p> <p>Creating a main() Method 8</p> <p>Passing Parameters to a Java Program 9</p> <p>Understanding Package Declarations and Imports 11</p> <p>Packages 12</p> <p>Wildcards 13</p> <p>Redundant Imports 13</p> <p>Naming Conflicts 15</p> <p>Creating a New Package 16</p> <p>Compiling and Running Code with Packages 16</p> <p>Compiling to Another Directory 18</p> <p>Compiling with JAR Files 20</p> <p>Creating a JAR File 20</p> <p>Ordering Elements in a Class 21</p> <p>Creating Objects 23</p> <p>Calling Constructors 23</p> <p>Reading and Writing Member Fields 24</p> <p>Executing Instance Initializer Blocks 24</p> <p>Following the Order of Initialization 25</p> <p>Understanding Data Types 26</p> <p>Using Primitive Types 27</p> <p>Using Reference Types 29</p> <p>Distinguishing between Primitives and Reference Types 30</p> <p>Creating Wrapper Classes 31</p> <p>Defining Text Blocks 32</p> <p>Declaring Variables 34</p> <p>Identifying Identifiers 35</p> <p>Declaring Multiple Variables 36</p> <p>Initializing Variables 38</p> <p>Creating Local Variables 38</p> <p>Passing Constructor and Method Parameters 40</p> <p>Defining Instance and Class Variables 41</p> <p>Inferring the Type with var 41</p> <p>Managing Variable Scope 45</p> <p>Limiting Scope 45</p> <p>Tracing Scope 46</p> <p>Applying Scope to Classes 47</p> <p>Reviewing Scope 48</p> <p>Destroying Objects 48</p> <p>Understanding Garbage Collection 48</p> <p>Tracing Eligibility 49</p> <p>Summary 51</p> <p>Exam Essentials 52</p> <p>Review Questions 54</p> <p><b>Chapter 2 Operators 65</b></p> <p>Understanding Java Operators 66</p> <p>Types of Operators 66</p> <p>Operator Precedence 67</p> <p>Applying Unary Operators 69</p> <p>Complement and Negation Operators 70</p> <p>Increment and Decrement Operators 71</p> <p>Working with Binary Arithmetic Operators 72</p> <p>Arithmetic Operators 72</p> <p>Numeric Promotion 75</p> <p>Assigning Values 77</p> <p>Assignment Operator 77</p> <p>Casting Values 77</p> <p>Compound Assignment Operators 81</p> <p>Return Value of Assignment Operators 82</p> <p>Comparing Values 83</p> <p>Equality Operators 83</p> <p>Relational Operators 84</p> <p>Logical Operators 87</p> <p>Conditional Operators 88</p> <p>Making Decisions with the Ternary Operator 90</p> <p>Summary 92</p> <p>Exam Essentials 92</p> <p>Review Questions 94</p> <p><b>Chapter 3 Making Decisions 101</b></p> <p>Creating Decision- Making Statements 102</p> <p>Statements and Blocks 102</p> <p>The if Statement 103</p> <p>The else Statement 104</p> <p>Shortening Code with Pattern Matching 106</p> <p>Applying switch Statements 110</p> <p>The switch Statement 110</p> <p>The switch Expression 115</p> <p>Writing while Loops 121</p> <p>The while Statement 121</p> <p>The do/while Statement 123</p> <p>Infinite Loops 123</p> <p>Constructing for Loops 124</p> <p>The for Loop 124</p> <p>The for- each Loop 129</p> <p>Controlling Flow with Branching 131</p> <p>Nested Loops 131</p> <p>Adding Optional Labels 132</p> <p>The break Statement 133</p> <p>The continue Statement 135</p> <p>The return Statement 137</p> <p>Unreachable Code 138</p> <p>Reviewing Branching 139</p> <p>Summary 139</p> <p>Exam Essentials 140</p> <p>Review Questions 142</p> <p><b>Chapter 4 Core APIs 155</b></p> <p>Creating and Manipulating Strings 156</p> <p>Concatenating 157</p> <p>Important String Methods 158</p> <p>Method Chaining 169</p> <p>Using the StringBuilder Class 170</p> <p>Mutability and Chaining 171</p> <p>Creating a StringBuilder 172</p> <p>Important StringBuilder Methods 172</p> <p>Understanding Equality 175</p> <p>Comparing equals() and == 175</p> <p>The String Pool 176</p> <p>Understanding Arrays 178</p> <p>Creating an Array of Primitives 179</p> <p>Creating an Array with Reference Variables 180</p> <p>Using an Array 182</p> <p>Sorting 183</p> <p>Searching 184</p> <p>Comparing 185</p> <p>Using Methods with Varargs 187</p> <p>Working with Multidimensional Arrays 188</p> <p>Calculating with Math APIs 190</p> <p>Finding the Minimum and Maximum 190</p> <p>Rounding Numbers 191</p> <p>Determining the Ceiling and Floor 191</p> <p>Calculating Exponents 192</p> <p>Generating Random Numbers 192</p> <p>Working with Dates and Times 192</p> <p>Creating Dates and Times 193</p> <p>Manipulating Dates and Times 197</p> <p>Working with Periods 199</p> <p>Working with Durations 202<br /> Period vs. Duration 204</p> <p>Working with Instants 205</p> <p>Accounting for Daylight Saving Time 206</p> <p>Summary 208</p> <p>Exam Essentials 209</p> <p>Review Questions 210</p> <p><b>Chapter 5 Methods 219</b></p> <p>Designing Methods 220</p> <p>Access Modifiers 221</p> <p>Optional Specifiers 222</p> <p>Return Type 224</p> <p>Method Name 226</p> <p>Parameter List 226</p> <p>Method Signature 227</p> <p>Exception List 227</p> <p>Method Body 228</p> <p>Declaring Local and Instance Variables 228</p> <p>Local Variable Modifiers 229</p> <p>Effectively Final Variables 230</p> <p>Instance Variable Modifiers 231</p> <p>Working with Varargs 232</p> <p>Creating Methods with Varargs 232</p> <p>Calling Methods with Varargs 233</p> <p>Accessing Elements of a Vararg 234</p> <p>Using Varargs with Other Method Parameters 234</p> <p>Applying Access Modifiers 235</p> <p>Private Access 235</p> <p>Package Access 236</p> <p>Protected Access 237</p> <p>Public Access 242</p> <p>Reviewing Access Modifiers 242</p> <p>Accessing static Data 243</p> <p>Designing static Methods and Variables 243</p> <p>Accessing a static Variable or Method 244</p> <p>Class vs. Instance Membership 245<br /> Static Variable Modifiers 248<br /> Static Initializers 250<br /> Static Imports 251</p> <p>Passing Data among Methods 253</p> <p>Passing Objects 253</p> <p>Returning Objects 255</p> <p>Autoboxing and Unboxing Variables 256</p> <p>Overloading Methods 258</p> <p>Reference Types 259</p> <p>Primitives 260</p> <p>Autoboxing 261</p> <p>Arrays 261</p> <p>Varargs 261</p> <p>Putting It All Together 262</p> <p>Summary 263</p> <p>Exam Essentials 264</p> <p>Review Questions 265</p> <p><b>Chapter 6 Class Design 275</b></p> <p>Understanding Inheritance 276</p> <p>Declaring a Subclass 276</p> <p>Class Modifiers 278</p> <p>Single vs. Multiple Inheritance 279</p> <p>Inheriting Object 279</p> <p>Creating Classes 281</p> <p>Extending a Class 281</p> <p>Applying Class Access Modifiers 282</p> <p>Accessing the this Reference 283</p> <p>Calling the super Reference 284</p> <p>Declaring Constructors 286</p> <p>Creating a Constructor 286</p> <p>The Default Constructor 287</p> <p>Calling Overloaded Constructors with this() 289</p> <p>Calling Parent Constructors with super() 292</p> <p>Initializing Objects 297</p> <p>Initializing Classes 297</p> <p>Initializing final Fields 298</p> <p>Initializing Instances 300</p> <p>Inheriting Members 304</p> <p>Overriding a Method 305</p> <p>Redeclaring private Methods 311</p> <p>Hiding Static Methods 311</p> <p>Hiding Variables 313</p> <p>Writing final Methods 314</p> <p>Creating Abstract Classes 315</p> <p>Introducing Abstract Classes 315</p> <p>Declaring Abstract Methods 317</p> <p>Creating a Concrete Class 318</p> <p>Creating Constructors in Abstract Classes 320</p> <p>Spotting Invalid Declarations 321</p> <p>Creating Immutable Objects 323</p> <p>Declaring an Immutable Class 323</p> <p>Performing a Defensive Copy 325</p> <p>Summary 326</p> <p>Exam Essentials 327</p> <p>Review Questions 330</p> <p><b>Chapter 7 Beyond Classes 345</b></p> <p>Implementing Interfaces 346</p> <p>Declaring and Using an Interface 346</p> <p>Extending an Interface 348</p> <p>Inheriting an Interface 349</p> <p>Inserting Implicit Modifiers 351</p> <p>Declaring Concrete Interface Methods 353</p> <p>Working with Enums 361</p> <p>Creating Simple Enums 361</p> <p>Using Enums in switch Statements 363</p> <p>Adding Constructors, Fields, and Methods 364</p> <p>Sealing Classes 367</p> <p>Declaring a Sealed Class 367</p> <p>Compiling Sealed Classes 368</p> <p>Specifying the Subclass Modifier 369</p> <p>Omitting the permits Clause 370</p> <p>Sealing Interfaces 372</p> <p>Reviewing Sealed Class Rules 372</p> <p>Encapsulating Data with Records 373</p> <p>Understanding Encapsulation 374</p> <p>Applying Records 375</p> <p>Understanding Record Immutability 377</p> <p>Declaring Constructors 378</p> <p>Customizing Records 381</p> <p>Creating Nested Classes 382</p> <p>Declaring an Inner Class 382</p> <p>Creating a static Nested Class 386</p> <p>Writing a Local Class 387</p> <p>Defining an Anonymous Class 389</p> <p>Reviewing Nested Classes 391</p> <p>Understanding Polymorphism 392</p> <p>Object vs. Reference 393</p> <p>Casting Objects 395</p> <p>The instanceof Operator 397</p> <p>Polymorphism and Method Overriding 397</p> <p>Overriding vs. Hiding Members 399</p> <p>Summary 401</p> <p>Exam Essentials 402</p> <p>Review Questions 404</p> <p><b>Chapter 8 Lambdas and Functional Interfaces 419</b></p> <p>Writing Simple Lambdas 420</p> <p>Looking at a Lambda Example 420</p> <p>Learning Lambda Syntax 422</p> <p>Coding Functional Interfaces 426</p> <p>Defining a Functional Interface 426</p> <p>Adding Object Methods 427</p> <p>Using Method References 429</p> <p>Calling static Methods 430</p> <p>Calling Instance Methods on a Particular Object 430</p> <p>Calling Instance Methods on a Parameter 432</p> <p>Calling Constructors 433</p> <p>Reviewing Method References 433</p> <p>Working with Built- in Functional Interfaces 434</p> <p>Implementing Supplier 435</p> <p>Implementing Consumer and BiConsumer 436</p> <p>Implementing Predicate and BiPredicate 438</p> <p>Implementing Function and BiFunction 439</p> <p>Implementing UnaryOperator and BinaryOperator 440</p> <p>Checking Functional Interfaces 441</p> <p>Using Convenience Methods on Functional Interfaces 442</p> <p>Learning the Functional Interfaces for Primitives 443</p> <p>Working with Variables in Lambdas 445</p> <p>Listing Parameters 446</p> <p>Using Local Variables inside a Lambda Body 448</p> <p>Referencing Variables from the Lambda Body 449</p> <p>Summary 450</p> <p>Exam Essentials 451</p> <p>Review Questions 452</p> <p><b>Chapter 9 Collections and Generics 463</b></p> <p>Using Common Collection APIs 464</p> <p>Using the Diamond Operator 465</p> <p>Adding Data 466</p> <p>Removing Data 466</p> <p>Counting Elements 467</p> <p>Clearing the Collection 467</p> <p>Check Contents 468</p> <p>Removing with Conditions 468</p> <p>Iterating 469</p> <p>Determining Equality 470</p> <p>Using the List Interface 471</p> <p>Comparing List Implementations 472</p> <p>Creating a List with a Factory 472</p> <p>Creating a List with a Constructor 473</p> <p>Working with List Methods 474</p> <p>Converting from List to an Array 476</p> <p>Using the Set Interface 477</p> <p>Comparing Set Implementations 477</p> <p>Working with Set Methods 478</p> <p>Using the Queue and Deque Interfaces 479</p> <p>Comparing Deque Implementations 480</p> <p>Working with Queue and Deque Methods 480</p> <p>Using the Map Interface 483</p> <p>Comparing Map Implementations 484</p> <p>Working with Map Methods 484</p> <p>Calling Basic Methods 486</p> <p>Iterating through a Map 487</p> <p>Getting Values Safely 487</p> <p>Replacing Values 488</p> <p>Putting if Absent 488</p> <p>Merging Data 488</p> <p>Comparing Collection Types 490</p> <p>Sorting Data 492</p> <p>Creating a Comparable Class 492</p> <p>Comparing Data with a Comparator 496</p> <p>Comparing Comparable and Comparator 497</p> <p>Comparing Multiple Fields 498</p> <p>Sorting and Searching 500</p> <p>Sorting a List 503</p> <p>Working with Generics 503</p> <p>Creating Generic Classes 504</p> <p>Understanding Type Erasure 506</p> <p>Implementing Generic Interfaces 509</p> <p>Writing Generic Methods 510</p> <p>Creating a Generic Record 512</p> <p>Bounding Generic Types 512</p> <p>Putting It All Together 517</p> <p>Summary 519</p> <p>Exam Essentials 520</p> <p>Review Questions 521</p> <p><b>Chapter 10 Streams 531</b></p> <p>Returning an Optional 532</p> <p>Creating an Optional 533</p> <p>Dealing with an Empty Optional 534</p> <p>Using Streams 536</p> <p>Understanding the Pipeline Flow 536</p> <p>Creating Stream Sources 539</p> <p>Using Common Terminal Operations 541</p> <p>Using Common Intermediate Operations 549</p> <p>Putting Together the Pipeline 553</p> <p>Working with Primitive Streams 557</p> <p>Creating Primitive Streams 557</p> <p>Mapping Streams 560</p> <p>Using Optional with Primitive Streams 562</p> <p>Summarizing Statistics 564</p> <p>Working with Advanced Stream Pipeline Concepts 565</p> <p>Linking Streams to the Underlying Data 565</p> <p>Chaining Optionals 566</p> <p>Using a Spliterator 569</p> <p>Collecting Results 570</p> <p>Summary 578</p> <p>Exam Essentials 579</p> <p>Review Questions 581</p> <p><b>Chapter 11 Exceptions and Localization 591</b></p> <p>Understanding Exceptions 592</p> <p>The Role of Exceptions 592</p> <p>Understanding Exception Types 593</p> <p>Throwing an Exception 596</p> <p>Calling Methods That Throw Exceptions 598</p> <p>Overriding Methods with Exceptions 599</p> <p>Printing an Exception 600</p> <p>Recognizing Exception Classes 600<br /> RuntimeException Classes 601</p> <p>Checked Exception Classes 604<br /> Error Classes 605</p> <p>Handling Exceptions 605</p> <p>Using try and catch Statements 606</p> <p>Chaining catch Blocks 607</p> <p>Applying a Multi- catch Block 609</p> <p>Adding a finally Block 611</p> <p>Automating Resource Management 615</p> <p>Introducing Try- with- Resources 615</p> <p>Basics of Try- with- Resources 616</p> <p>Applying Effectively Final 620</p> <p>Understanding Suppressed Exceptions 621</p> <p>Formatting Values 624</p> <p>Formatting Numbers 624</p> <p>Formatting Dates and Times 625</p> <p>Customizing the Date/Time Format 626</p> <p>Supporting Internationalization and Localization 629</p> <p>Picking a Locale 630</p> <p>Localizing Numbers 632</p> <p>Localizing Dates 637</p> <p>Specifying a Locale Category 638</p> <p>Loading Properties with Resource Bundles 639</p> <p>Creating a Resource Bundle 640</p> <p>Picking a Resource Bundle 641</p> <p>Selecting Resource Bundle Values 643</p> <p>Formatting Messages 645</p> <p>Using the Properties Class 645</p> <p>Summary 646</p> <p>Exam Essentials 647</p> <p>Review Questions 648</p> <p><b>Chapter 12 Modules 661</b></p> <p>Introducing Modules 662</p> <p>Exploring a Module 663</p> <p>Benefits of Modules 664</p> <p>Creating and Running a Modular Program 664</p> <p>Creating the Files 665</p> <p>Compiling Our First Module 666</p> <p>Running Our First Module 668</p> <p>Packaging Our First Module 669</p> <p>Updating Our Example for Multiple Modules 669</p> <p>Updating the Feeding Module 670</p> <p>Creating a Care Module 670</p> <p>Creating the Talks Module 672</p> <p>Creating the Staff Module 674</p> <p>Diving into the Module Declaration 675</p> <p>Exporting a Package 676</p> <p>Requiring a Module Transitively 677</p> <p>Opening a Package 679</p> <p>Creating a Service 680</p> <p>Declaring the Service Provider Interface 681</p> <p>Creating a Service Locator 682</p> <p>Invoking from a Consumer 684</p> <p>Adding a Service Provider 685</p> <p>Reviewing Directives and Services 686</p> <p>Discovering Modules 687</p> <p>Identifying Built- in Modules 688</p> <p>Getting Details with java 690</p> <p>Describing with jar 693</p> <p>Learning about Dependencies with jdeps 693</p> <p>Using the -- jdk- internals Flag 695</p> <p>Using Module Files with jmod 696</p> <p>Creating Java Runtimes with jlink 696</p> <p>Reviewing Command- Line Options 697</p> <p>Comparing Types of Modules 700</p> <p>Named Modules 701</p> <p>Automatic Modules 701</p> <p>Unnamed Modules 704</p> <p>Reviewing Module Types 704</p> <p>Migrating an Application 704</p> <p>Determining the Order 705</p> <p>Exploring a Bottom- Up Migration Strategy 706</p> <p>Exploring a Top- Down Migration Strategy 707</p> <p>Splitting a Big Project into Modules 709</p> <p>Failing to Compile with a Cyclic Dependency 709</p> <p>Summary 711</p> <p>Exam Essentials 712</p> <p>Review Questions 713</p> <p><b>Chapter 13 Concurrency 721</b></p> <p>Introducing Threads 722</p> <p>Understanding Thread Concurrency 723</p> <p>Creating a Thread 724</p> <p>Distinguishing Thread Types 725</p> <p>Managing a Thread’s Life Cycle 727</p> <p>Polling with Sleep 727</p> <p>Interrupting a Thread 729</p> <p>Creating Threads with the Concurrency API 730</p> <p>Introducing the Single- Thread Executor 730</p> <p>Shutting Down a Thread Executor 731</p> <p>Submitting Tasks 732</p> <p>Waiting for Results 733</p> <p>Scheduling Tasks 737</p> <p>Increasing Concurrency with Pools 739</p> <p>Writing Thread- Safe Code 740</p> <p>Understanding Thread- Safety 740</p> <p>Accessing Data with volatile 741</p> <p>Protecting Data with Atomic Classes 742</p> <p>Improving Access with Synchronized Blocks 744</p> <p>Synchronizing on Methods 746</p> <p>Understanding the Lock Framework 747</p> <p>Orchestrating Tasks with a CyclicBarrier 751</p> <p>Using Concurrent Collections 754</p> <p>Understanding Memory Consistency Errors 754</p> <p>Working with Concurrent Classes 755</p> <p>Obtaining Synchronized Collections 757</p> <p>Identifying Threading Problems 758</p> <p>Understanding Liveness 758</p> <p>Managing Race Conditions 761</p> <p>Working with Parallel Streams 761</p> <p>Creating Parallel Streams 762</p> <p>Performing a Parallel Decomposition 762</p> <p>Processing Parallel Reductions 764</p> <p>Summary 770</p> <p>Exam Essentials 770</p> <p>Review Questions 772</p> <p><b>Chapter 14 I/o 785</b></p> <p>Referencing Files and Directories 786</p> <p>Conceptualizing the File System 786</p> <p>Creating a File or Path 789</p> <p>Operating on File and Path 793</p> <p>Using Shared Functionality 793</p> <p>Handling Methods That Declare IOException 797</p> <p>Providing NIO.2 Optional Parameters 797</p> <p>Interacting with NIO.2 Paths 799</p> <p>Creating, Moving, and Deleting Files and Directories 805</p> <p>Comparing Files with isSameFile() and mismatch() 809</p> <p>Introducing I/O Streams 811</p> <p>Understanding I/O Stream Fundamentals 811</p> <p>Learning I/O Stream Nomenclature 812</p> <p>Reading and Writing Files 817</p> <p>Using I/O Streams 817</p> <p>Enhancing with Files 820</p> <p>Combining with newBufferedReader() and newBufferedWriter() 822</p> <p>Reviewing Common Read and Write Methods 823</p> <p>Serializing Data 824</p> <p>Applying the Serializable Interface 825</p> <p>Marking Data transient 827</p> <p>Ensuring That a Class Is Serializable 827</p> <p>Storing Data with ObjectOutputStream and <i>ObjectInputStream 828</i></p> <p>Understanding the Deserialization Creation Process 830</p> <p>Interacting with Users 832</p> <p>Printing Data to the User 832</p> <p>Reading Input as an I/O Stream 833</p> <p>Closing System Streams 833</p> <p>Acquiring Input with Console 834</p> <p>Working with Advanced APIs 837</p> <p>Manipulating Input Streams 838</p> <p>Discovering File Attributes 840</p> <p>Traversing a Directory Tree 843</p> <p>Searching a Directory 847</p> <p>Review of Key APIs 848</p> <p>Summary 850</p> <p>Exam Essentials 851</p> <p>Review Questions 852</p> <p><b>Chapter 15 Jdbc 863</b></p> <p>Introducing Relational Databases and SQL 864</p> <p>Identifying the Structure of a Relational Database 866</p> <p>Writing Basic SQL Statements 867</p> <p>Introducing the Interfaces of JDBC 868</p> <p>Connecting to a Database 870</p> <p>Building a JDBC URL 870</p> <p>Getting a Database Connection 871</p> <p>Working with a PreparedStatement 873</p> <p>Obtaining a PreparedStatement 874</p> <p>Executing a PreparedStatement 875</p> <p>Working with Parameters 878</p> <p>Updating Multiple Records 881</p> <p>Getting Data from a ResultSet 882</p> <p>Reading a ResultSet 882</p> <p>Getting Data for a Column 885</p> <p>Using Bind Variables 887</p> <p>Calling a CallableStatement 887</p> <p>Calling a Procedure without Parameters 888</p> <p>Passing an IN Parameter 889</p> <p>Returning an OUT Parameter 889</p> <p>Working with an INOUT Parameter 890</p> <p>Comparing Callable Statement Parameters 891</p> <p>Using Additional Options 891</p> <p>Controlling Data with Transactions 892</p> <p>Committing and Rolling Back 892</p> <p>Bookmarking with Savepoints 894</p> <p>Reviewing Transaction APIs 895</p> <p>Closing Database Resources 895</p> <p>Summary 897</p> <p>Exam Essentials 898</p> <p>Review Questions 900</p> <p>Appendix Answers to the Review Questions 909</p> <p>Chapter 1: Building Blocks 910</p> <p>Chapter 2: Operators 913</p> <p>Chapter 3: Making Decisions 916</p> <p>Chapter 4: Core APIs 921</p> <p>Chapter 5: Methods 924</p> <p>Chapter 6: Class Design 927</p> <p>Chapter 7: Beyond Classes 932</p> <p>Chapter 8: Lambdas and Functional Interfaces 936</p> <p>Chapter 9: Collections and Generics 939</p> <p>Chapter 10: Streams 942</p> <p>Chapter 11: Exceptions and Localization 945</p> <p>Chapter 12: Modules 949</p> <p>Chapter 13: Concurrency 951</p> <p>Chapter 14: I/o 955</p> <p>Chapter 15: Jdbc 959<br /> Index 963</p>
<p><b>ABOUT THE AUTHORS</b></p> <p><b> Scott Selikoff</b> has been a professional Java Enterprise architect for over 20 years. He currently works as a Staff Software Engineer at Google, specializing in Architecture and Cloud Services. He is a Leader of the Garden State Java User Group, helping to facilitate discussions and exchange of ideas within the community. <p><b> Jeanne Boyarsky</b> is a Java Champion and has worked as a Java developer for a major bank for more than 20 years. She is a senior moderator at CodeRanch, and trains and mentors students of all levels, including the programming department of a FIRST robotics team.
<p><b>Your complete roadmap to the OCP Java SE 17 Developer exam</b></p> <p>The OCP <i>Oracle<sup>®</sup> Certified Professional Java SE 17 Developer Study Guide</i> is your one-stop resource for authoritative coverage of the 1Z0-829 exam. This Sybex Study Guide covers 100% of the 1Z0-829 objective domains. Prepare for the exam smarter and faster with Sybex thanks to focused content that validates and measures exam readiness, real-world examples and scenarios, practical exercises, and chapter review questions. Reinforce and retain what you’ve learned with the Sybex online learning environment and test bank, accessible across multiple devices. Prepare for success on the Java SE 17 Developer exam with Sybex. <p><b> Coverage of 100% of all exam objectives in this Study Guide means you’ll be ready for:</b> <ul><li>Directing Flow with Decision Statements, Pattern Matching, and Switch Expressions</li> <li>Working with Primitives, Strings, var, and Text Blocks</li> <li>Creating Lambda Expressions and Method References</li> <li>Designing Classes, Interfaces, Enums, Records, and Sealed Classes</li> <li>Writing Functional Interfaces and Streams</li> <li>Building Modules and Migrating Applications to Modules</li> <li>Applying I/O, NIO.2, JDBC, Threads, and Concurrency</li> <li>Localizing Applications and Formatting Dates/Numbers</li> <li>Gracefully Handling Exceptions and Errors and more…</li></ul> <p><b> ABOUT THE ORACLE CERTIFIED PROFESSIONAL PROGRAM </b> <p>The OCP Oracle Certified Professional Java SE 17 Developer certification validates advanced understanding of Oracle concepts and skills as well as experience applying them in the real world. The focus is on advanced developer skills with a strong foundation in Java technology. <p><b> Interactive learning environment </b> <p>Take your exam prep to the next level with Sybex’s superior interactive online study tools. To access our learning environment, simply visit <b>www.wiley.com/go/sybextestprep,</b> register your book to receive your unique PIN, and instantly gain one year of FREE access after activation to: <ul> <li><b>Interactive test bank</b> with 3 practice exams to help you identify areas where further review is needed. Get more than 90% of the answers correct, and you’re ready to take the certification exam. </li> <li><b>More than 500 electronic flashcards</b> to reinforce learning and last-minute prep before the exam </li> <li><b>Comprehensive glossary</b> in PDF format gives you instant access to the key terms so you are fully prepared </li> </ul>

Diese Produkte könnten Sie auch interessieren:

Domain Architectures
Domain Architectures
von: Daniel J. Duffy
PDF ebook
31,99 €