OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide
John Wiley & Sons Inc (Verlag)
978-1-119-06790-0 (ISBN)
Complete, trusted preparation for the Java Programmer II exam OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide is your comprehensive companion for preparing for Exam 1Z0-809 as well as upgrade Exam 1Z0-810 and Exam 1Z0-813. With full coverage of 100% of exam objectives, this invaluable guide reinforces what you know, teaches you what you don't know, and gives you the hands-on practice you need to boost your skills. Written by expert Java developers, this book goes beyond mere exam prep with the insight, explanations and perspectives that come from years of experience. You'll review the basics of object-oriented programming, understand functional programming, apply your knowledge to database work, and much more. From the basic to the advanced, this guide walks you through everything you need to know to confidently take the OCP 1Z0-809 Exam and upgrade exams 1Z0-810 and 1Z0-813. Java 8 represents the biggest changes to the language to date, and the latest exam now requires that you demonstrate functional programming competence in order to pass. This guide has you covered, with clear explanations and expert advice.
* Understand abstract classes, interfaces, and class design * Learn object-oriented design principles and patterns * Delve into functional programming, advanced strings, and localization * Master IO, NIO, and JDBC with expert-led database practice If you're ready to take the next step in your IT career, OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide is your ideal companion on the road to certification.
Jeanne Boyarsky, OCA/OCP 8, has worked as a Java developer for a bank in NYC for 13 years where she develops, mentors and conducts training. In her free time, she is a senior moderator at CodeRanch and works on the forum code base. Scott Selikoff, OCA/OCP 8, has been a professional Java Enterprise developer for over 15 years. He currently operates Selikoff Solutions, LLC, which provides software consulting services to businesses in the tri-state New York City area.
Introduction xix Assessment Test xxxviii Chapter 1 Advanced Class Design 1 Reviewing OCA Concepts 2 Access Modifiers 2 Overloading and Overriding 4 Abstract Classes 5 Static and Final 6 Imports 6 Using instanceof 7 Understanding Virtual Method Invocation 9 Annotating Overridden Methods 11 Coding equals, hashCode, and toString 13 toString 13 equals 15 hashCode 18 Working with Enums 20 Using Enums in Switch Statements 21 Adding Constructors, Fields, and Methods 22 Creating Nested Classes 24 Member Inner Classes 25 Local Inner Classes 27 Anonymous Inner Classes 29 Static Nested Classes 31 Summary 33 Exam Essentials 34 Review Questions 36 Chapter 2 Design Patterns and Principles 47 Designing an Interface 48 Purpose of an Interface 51 Introducing Functional Programming 52 Defining a Functional Interface 53 Implementing Functional Interfaces with Lambdas 55 Applying the Predicate Interface 60 Implementing Polymorphism 61 Distinguishing between an Object and a Reference 63 Casting Object References 64 Understanding Design Principles 66 Encapsulating Data 66 Creating JavaBeans 69 Applying the Is ]a Relationship 71 Applying the Has ]a Relationship 73 Composing Objects 74 Working with Design Patterns 75 Applying the Singleton Pattern 76 Creating Immutable Objects 82 Using the Builder Pattern 86 Creating Objects with the Factory Pattern 89 Summary 93 Exam Essentials 93 Review Questions 95 Chapter 3 Generics and Collections 103 Reviewing OCA Collections 104 Array and ArrayList 104 Searching and Sorting 105 Wrapper Classes and Autoboxing 106 The Diamond Operator 107 Working with Generics 108 Generic Classes 109 Generic Interfaces 112 Generic Methods 114 Interacting with Legacy Code 114 Bounds 117 Putting It All Together 122 Using Lists, Sets, Maps, and Queues 124 Common Collections Methods 125 Using the List Interface 127 Using the Set Interface 132 Using the Queue Interface 134 Map 138 Comparing Collection Types 140 Comparator vs. Comparable 143 Comparable 143 Comparator 146 Searching and Sorting 150 Additions in Java 8 152 Using Method References 152 Removing Conditionally 154 Updating All Elements 155 Looping through a Collection 155 Using New Java 8 Map APIs 155 Summary 159 Exam Essentials 161 Review Questions 162 Chapter 4 Functional Programming 171 Using Variables in Lambdas 172 Working with Built-In Functional Interfaces 173 Implementing Supplier 174 Implementing Consumer and BiConsumer 175 Implementing Predicate and BiPredicate 177 Implementing Function and BiFunction 178 Implementing UnaryOperator and BinaryOperator 180 Checking Functional Interfaces 181 Returning an Optional 182 Using Streams 185 Creating Stream Sources 188 Using Common Terminal Operations 189 Using Common Intermediate Operations 196 Putting Together the Pipeline 200 Printing a Stream 204 Working with Primitives 205 Creating Primitive Streams 205 Using Optional with Primitive Streams 208 Summarizing Statistics 210 Learning the Functional Interfaces for Primitives 210 Working with Advanced Stream Pipeline Concepts 213 Linking Streams to the Underlying Data 213 Chaining Optionals 214 Collecting Results 217 Summary 223 Exam Essentials 224 Review Questions 226 Chapter 5 Dates, Strings, and Localization 233 Working with Dates and Times 234 Creating Dates and Times 235 Manipulating Dates and Times 241 Working with Periods 244 Working with Durations 247 Accounting for Daylight Savings Time 251 Reviewing the String class 253 Adding Internationalization and Localization 255 Picking a Locale 256 Using a Resource Bundle 258 Formatting Numbers 267 Formatting Dates and Times 270 Summary 273 Exam Essentials 274 Review Questions 276 Chapter 6 Exceptions and Assertions 283 Reviewing Exceptions 284 Exceptions Terminology 284 Categories of Exceptions 285 Exceptions on the OCP 286 Try Statement 288 Throw vs. Throws 289 Creating Custom Exceptions 289 Using Multi-catch 291 Using Try-With-Resources 296 Try-With-Resources Basics 298 AutoCloseable 300 Suppressed Exceptions 302 Putting It Together 305 Rethrowing Exceptions 305 Working with Assertions 308 The assert Statement 308 Enabling Assertions 309 Using Assertions 310 Summary 314 Exam Essentials 315 Review Questions 316 Chapter 7 Concurrency 325 Introducing Threads 327 Distinguishing Thread Types 328 Understanding Thread Concurrency 328 Introducing Runnable 330 Creating a Thread 331 Polling with Sleep 334 Creating Threads with the ExecutorService 335 Introducing the Single-Thread Executor 335 Shutting Down a Thread Executor 337 Submitting Tasks 338 Waiting for Results 340 Scheduling Tasks 345 Increasing Concurrency with Pools 348 Synchronizing Data Access 350 Protecting Data with Atomic Classes 352 Improving Access with Synchronized Blocks 354 Synchronizing Methods 356 Understanding the Cost of Synchronization 357 Using Concurrent Collections 358 Introducing Concurrent Collections 358 Understanding Memory Consistency Errors 359 Working with Concurrent Classes 360 Obtaining Synchronized Collections 365 Working with Parallel Streams 366 Creating Parallel Streams 366 Processing Tasks in Parallel 367 Processing Parallel Reductions 372 Managing Concurrent Processes 377 Creating a CyclicBarrier 377 Applying the Fork/Join Framework 381 Identifying Threading Problems 387 Understanding Liveness 387 Managing Race Conditions 391 Summary 392 Exam Essentials 393 Review Questions 394 Chapter 8 IO 405 Understanding Files and Directories 406 Conceptualizing the File System 406 Introducing the File Class 407 Introducing Streams 411 Stream Fundamentals 411 Stream Nomenclature 412 Common Stream Operations 418 Working with Streams 420 The FileInputStream and FileOutputStream Classes 420 The FileReader and FileWriter classes 424 The ObjectInputStream and ObjectOutputStream Classes 426 The PrintStream and PrintWriter Classes 432 Review of Stream Classes 435 Interacting with Users 437 The Old Way 437 The New Way 438 Summary 442 Exam Essentials 443 Review Questions 445 Chapter 9 NIO.2 453 Introducing NIO.2 454 Introducing Path 455 Creating Paths 456 Interacting with Paths and Files 460 Providing Optional Arguments 461 Using Path Objects 462 Interacting with Files 471 Understanding File Attributes 478 Discovering Basic File Attributes 478 Improving Access with Views 483 Presenting the New Stream Methods 487 Conceptualizing Directory Walking 487 Walking a Directory 488 Searching a Directory 490 Listing Directory Contents 491 Printing File Contents 492 Comparing Legacy File and NIO.2 Methods 494 Summary 495 Exam Essentials 495 Review Questions 497 Chapter 10 JDBC 505 Introducing Relational Databases and SQL 507 Identifying the Structure of a Relational Database 508 Writing Basic SQL Statements 510 Introducing the Interfaces of JDBC 511 Connecting to a Database 513 Building a JDBC URL 513 Getting a Database Connection 515 Obtaining a Statement 518 Choosing a ResultSet Type 519 Choosing a ResultSet Concurrency Mode 520 Executing a Statement 520 Getting Data from a ResultSet 524 Reading a ResultSet 524 Getting Data for a Column 526 Scrolling ResultSet 529 Closing Database Resources 533 Dealing with Exceptions 535 Summary 536 Exam Essentials 537 Review Questions 539 Appendix A Answers to Review Questions 547 Chapter 1: Advanced Class Design 548 Chapter 2: Design Patterns and Principles 550 Chapter 3: Generics and Collections 553 Chapter 4: Functional Programming 556 Chapter 5: Dates, Strings, and Localization 558 Chapter 6: Exceptions and Assertions 560 Chapter 7: Concurrency 561 Chapter 8: IO 565 Chapter 9: NIO.2 568 Chapter 10: JDBC 571 Appendix B Study Tips 575 Studying for the Test 576 Creating a Study Plan 576 Comparing Previous Exams 578 Creating and Running Sample Applications 579 Taking the Test 582 Understanding the Question 582 Taking Advantage of the Exam Software 587 Using the Provided Writing Material 587 Choosing the Best Answer 590 Optimizing Your Time 591 Getting a Good Night s Rest 593 Appendix C Upgrading from Java 6 or Earlier 595 Enhancing the Java Language 596 Using the Diamond Operator 596 Creating Literals 597 Making Decisions with Switch 598 Formatting and Parsing 603 Using DecimalFormat Flags 603 Using DateFormat 603 Formatting 604 Parsing 605 Custom Date Formats 606 Applying Locks 607 Understanding the Lock Framework 607 Using a ReentrantLock 610 Understanding Read/Write Locks 614 Using a ReentrantReadWriteLock 615 Working with Directories 617 Traversing Directories 618 Monitoring a Directory for Changes 625 Summary 633 Exam Essentials 633 Review Questions 635 Answers to Practice Test 645 Index 649
Erscheint lt. Verlag | 1.1.2016 |
---|---|
Zusatzinfo | illustrations |
Verlagsort | New York |
Sprache | englisch |
Maße | 189 x 233 mm |
Gewicht | 992 g |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Java |
Mathematik / Informatik ► Informatik ► Web / Internet | |
Informatik ► Weitere Themen ► Zertifizierung | |
Sozialwissenschaften ► Pädagogik | |
ISBN-10 | 1-119-06790-1 / 1119067901 |
ISBN-13 | 978-1-119-06790-0 / 9781119067900 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich