OCP – Oracle Certified Professional Java SE 8 Programmer II Study Guide – Exam 1Z0–809
Autor J Boyarskyen Limba Engleză Paperback – 31 dec 2015
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
Preț: 263.64 lei
Nou
50.46€ • 52.59$ • 42.01£
Carte disponibilă
Livrare economică 16-30 decembrie
Livrare express 29 noiembrie-05 decembrie pentru 55.07 lei
Specificații
ISBN-10: 1119067901
Pagini: 720
Dimensiuni: 189 x 232 x 37 mm
Greutate: 0.91 kg
Editura: Sybex
Locul publicării:Hoboken, United States
Public țintă
Primary audience––Those preparing for their OCP Java SE 8 Programmer II E xam 1Z0–809 and certification.Secondary audience––Any junior– to senior–level programmer who uses Java as their primary programming language.
Descriere
Covers 100% of exam objectives, including advanced class design, functional programming, concurrency, JDBC, and much more...
Includes online interactive learning environment with:
+3 custom practice exams
+More than 250 electronic flashcards
+Searchable key term glossary
Your Complete Guide to preparing for OCP Exam 1Z0–809
The OCP, Oracle Certified Professional Java SE 8 Programmer II Study Guide is your one–stop resource for complete coverage of Exam 1Z0–809. This Sybex Study Guide covers 100% of exam objectives and guides you through the process of re–learning key Java APIs, now that nearly every framework in Java 8 has been updated to include lambda expressions and streams. You′ll prepare for the exam smarter and faster with Sybex thanks to superior content including assessment tests that check exam readiness, key topic exam essentials, an appendix custom tailored for those taking the upgrade Exams 1Z0–810 or 1Z0–813, and much more. Reinforce what you have learned with the Sybex online learning environment and test bank, accessible across multiple devices. Get prepared for the OCP exam with Sybex.
Coverage of 100% of all exam objectives in this Study Guide means you′ll be ready for:
- Creating and applying lambda expressions
- Demonstrating functional programming competence
- Applying Object–Oriented design principles and design patterns
- Working with generics, collections, and class design
- Inheriting abstract classes and interfaces
- Dealing with exceptions and assertions
- Working with IO, NIO.2, JDBC, threads, and concurrency
- Handling advanced strings and localization
Interactive learning environment
Take your exam prep to the next level with Sybex′s superior interactive online study tools. To access our learning environment, simply visit http://sybextestbanks.wiley.com, type in your unique PIN, and instantly gain access to:
- Interactive test bank with 3 bonus practice exams. Practice exams 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. 180 questions total!
- More than 250 Electronic Flashcards to reinforce learning and last minute prep before the exam
- Comprehensive glossary in PDF format gives you instant access to the key terms so you are fully prepared
Textul de pe ultima copertă
Covers 100% of exam objectives, including advanced class design, functional programming, concurrency, JDBC, and much more...
Includes online interactive learning environment with:
+3 custom practice exams
+More than 250 electronic flashcards
+Searchable key term glossary
Your Complete Guide to preparing for OCP Exam 1Z0–809
The OCP, Oracle Certified Professional Java SE 8 Programmer II Study Guide is your one–stop resource for complete coverage of Exam 1Z0–809. This Sybex Study Guide covers 100% of exam objectives and guides you through the process of re–learning key Java APIs, now that nearly every framework in Java 8 has been updated to include lambda expressions and streams. You′ll prepare for the exam smarter and faster with Sybex thanks to superior content including assessment tests that check exam readiness, key topic exam essentials, an appendix custom tailored for those taking the upgrade Exams 1Z0–810 or 1Z0–813, and much more. Reinforce what you have learned with the Sybex online learning environment and test bank, accessible across multiple devices. Get prepared for the OCP exam with Sybex.
Coverage of 100% of all exam objectives in this Study Guide means you′ll be ready for:
- Creating and applying lambda expressions
- Demonstrating functional programming competence
- Applying Object–Oriented design principles and design patterns
- Working with generics, collections, and class design
- Inheriting abstract classes and interfaces
- Dealing with exceptions and assertions
- Working with IO, NIO.2, JDBC, threads, and concurrency
- Handling advanced strings and localization
Interactive learning environment
Take your exam prep to the next level with Sybex′s superior interactive online study tools. To access our learning environment, simply visit http://sybextestbanks.wiley.com, type in your unique PIN, and instantly gain access to:
- Interactive test bank with 3 bonus practice exams. Practice exams 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. 180 questions total!
- More than 250 Electronic Flashcards to reinforce learning and last minute prep before the exam
- Comprehensive glossary in PDF format gives you instant access to the key terms so you are fully prepared
Cuprins
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
Notă biografică
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.