Muutke küpsiste eelistusi

E-raamat: OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide: Exam 1Z0-816 and Exam 1Z0-817

(Selikoff Solutions, LLC), (CodeRanch)
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 30-Jun-2020
  • Kirjastus: Sybex Inc.,U.S.
  • Keel: eng
  • ISBN-13: 9781119617587
  • Formaat - EPUB+DRM
  • Hind: 37,04 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 30-Jun-2020
  • Kirjastus: Sybex Inc.,U.S.
  • Keel: eng
  • ISBN-13: 9781119617587

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

This OCP Oracle Certified Professional Java SE 11 Programmer I Study Guide: Exam 1Z0-815 and the Programmer II Study Guide: Exam 1Z0-816  were published before Oracle announced major changes to its OCP certification program and the release of the new Developer 1Z0-819 exam.

No matter the changes, rest assured both of the Programmer I and II Study Guides cover everything you need to prepare for and take Exam 1Z0-819. If youve purchased one of the Programmer Study Guides, purchase the other one and youll  be all set.

NOTE: The OCP Java SE 11 Programmer I Exam 1Z0-815 and Programmer II Exam 1Z0-816 have been retired (as of October 1, 2020), and Oracle has released a new Developer Exam 1Z0-819 to replace the previous exams. The Upgrade Exam 1Z0-817 remains the same.





The completely-updated preparation guide for the new OCP Oracle Certified Professional Java SE 11 Programmer II examcovers Exam 1Z0-816

Java, a platform-independent, object-oriented programming language, is used primarily in mobile and desktop application development. It is a popular language for client-side cloud applications and the principal language used to develop Android applications. Oracle has recently updated its Java Programmer certification tracks for Oracle Certified Professional.

OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide ensures that you are fully prepared for this difficult certification exam. Covering 100% of exam objectives, this in-depth study guide provides comprehensive coverage of the functional-programming knowledge necessary to succeed. Every exam topic is thoroughly and completely covered including exceptions and assertions, class design, generics and collections, threads, concurrency, IO and NIO, and more. Access to Sybex's superior online interactive learning environment and test bankincluding self-assessment tests, chapter tests, bonus practice exam questions, electronic flashcards, and a searchable glossary of important termsprovides everything you need to be fully prepared on exam day. This must-have guide:





Covers all exam objectives such as inheriting abstract classes and interfaces, advanced strings and localization, JDBC, and Object-Oriented design principles and patterns Explains complex material and reinforces your comprehension and retention of important topics Helps you master more advanced areas of functional programming Demonstrates practical methods for building Java solutions

OCP Oracle Certified Professional Java SE 11 Programmer II Study Guide will prove invaluable for anyone seeking achievement of this challenging exam, as well as junior- to senior-level programmers who uses Java as their primary programming language.
Introduction xxi
Assessment Test xliv
Chapter 1 Java Fundamentals
1(58)
Applying the final Modifier
2(4)
Declaring final Local Variables
3(1)
Adding final to Instance and static Variables
4(1)
Writing final Methods
5(1)
Marking Classes final
5(1)
Working with Enums
6(6)
Creating Simple Enums
6(2)
Using Enums in Switch Statements
8(1)
Adding Constructors, Fields, and Methods
9(3)
Creating Nested Classes
12(10)
Declaring an Inner Class
12(3)
Creating a static Nested Class
15(2)
Writing a Local Class
17(1)
Defining an Anonymous Class
18(3)
Reviewing Nested Classes
21(1)
Understanding Interface Members
22(10)
Relying on a default Interface Method
23(4)
Using static Interface Methods
27(1)
Introducing private Interface Methods
28(1)
Introducing private static Interface Methods
29(2)
Reviewing Interface Members
31(1)
Introducing Functional Programming
32(11)
Defining a Functional Interface
32(2)
Declaring a Functional Interface with Object Methods
34(2)
Implementing Functional Interfaces with Lambdas
36(2)
Writing Lambda Expressions
38(2)
Working with Lambda Variables
40(3)
Summary
43(1)
Exam Essentials
44(2)
Review Questions
46(13)
Chapter 2 Annotations
59(46)
Introducing Annotations
60(4)
Understanding Metadata
60(1)
Purpose of Annotations
61(3)
Creating Custom Annotations
64(5)
Creating an Annotation
64(1)
Specifying a Required Element
65(1)
Providing an Optional Element
66(1)
Selecting an Element Type
67(1)
Applying Element Modifiers
67(1)
Adding a Constant Variable
68(1)
Reviewing Annotation Rules
68(1)
Applying Annotations
69(5)
Using Annotations in Declarations
69(2)
Mixing Required and Optional Elements
71(1)
Creating a value() Element
71(2)
Passing an Array of Values
73(1)
Declaring Annotation-Specific Annotations
74(9)
Limiting Usage with @Target
74(3)
Storing Annotations with @Retention
77(1)
Generating Javadoc with @Documented
77(2)
Inheriting Annotations with @Inherited
79(1)
Supporting Duplicates with @Repeatable
79(2)
Reviewing Annotation-Specific Annotations
81(2)
Using Common Annotations
83(8)
Marking Methods with @Override
83(1)
Declaring Interfaces with @Functionallnterface
84(1)
Retiring Code with @Deprecated
85(1)
Ignoring Warnings with @SuppressWarnings
86(2)
Protecting Arguments with @SafeVarargs
88(1)
Reviewing Common Annotations
89(2)
Summary
91(1)
Exam Essentials
92(2)
Review Questions
94(11)
Chapter 3 Generics and Collections
105(70)
Using Method References
107(4)
Calling Static Methods
108(1)
Calling Instance Methods on a Particular Object
109(1)
Calling Instance Methods on a Parameter
109(1)
Calling Constructors
110(1)
Reviewing Method References
110(1)
Using Wrapper Classes
111(2)
Using the Diamond Operator
113(1)
Using Lists, Sets, Maps, and Queues
114(23)
Common Collections Methods
115(4)
Using the List Interface
119(5)
Using the Set Interface
124(2)
Using the Queue Interface
126(2)
Using the Map Interface
128(7)
Comparing Collection Types
135(2)
Sorting Data
137(10)
Creating a Comparable Class
137(4)
Comparing Data with a Comparator
141(1)
Comparing Comparable and Comparator
142(1)
Comparing Multiple Fields
143(2)
Sorting and Searching
145(2)
Working with Generics
147(14)
Generic Classes
148(3)
Generic Interfaces
151(1)
Raw Types
152(1)
Generic Methods
153(1)
Bounding Generic Types
154(5)
Putting It All Together
159(2)
Summary
161(2)
Exam Essentials
163(1)
Review Questions
164(11)
Chapter 4 Functional Programming
175(72)
Working with Built-in Functional Interfaces
176(11)
Implementing Supplier
178(1)
Implementing Consumer and BiConsumer
179(1)
Implementing Predicate and BiPredicate
180(1)
Implementing Function and BiFunction
181(2)
Implementing UnaryOperator and BinaryOperator
183(1)
Checking Functional Interfaces
184(1)
Convenience Methods on Functional Interfaces
185(2)
Returning an Optional
187(4)
Creating an Optional
188(1)
Dealing with an Empty Optional
189(2)
Using Streams
191(22)
Understanding the Pipeline Flow
191(3)
Creating Stream Sources
194(3)
Using Common Terminal Operations
197(7)
Using Common Intermediate Operations
204(5)
Putting Together the Pipeline
209(4)
Working with Primitive Streams
213(11)
Creating Primitive Streams
214(3)
Mapping Streams
217(2)
Using Optional with Primitive Streams
219(1)
Summarizing Statistics
220(1)
Learning the Functional Interfaces for Primitives
221(3)
Working with Advanced Stream Pipeline Concepts
224(10)
Linking Streams to the Underlying Data
224(1)
Chaining Optionals
224(3)
Collecting Results
227(7)
Summary
234(2)
Exam Essentials
236(2)
Review Questions
238(9)
Chapter 5 Exceptions, Assertions, and Localization
247(62)
Reviewing Exceptions
248(5)
Handling Exceptions
248(2)
Distinguishing between throw and throws
250(1)
Examining Exception Categories
250(2)
Inheriting Exception Classes
252(1)
Creating Custom Exceptions
253(3)
Declaring Exception Classes
253(1)
Adding Custom Constructors
253(2)
Printing Stack Traces
255(1)
Automating Resource Management
256(8)
Constructing Try-With-Resources Statements
256(3)
Learning the New Effectively Final Feature
259(2)
Understanding Suppressed Exceptions
261(3)
Declaring Assertions
264(4)
Validating Data with the assert Statement
264(2)
Enabling Assertions
266(1)
Disabling Assertions
267(1)
Applying Assertions
267(1)
Writing Assertions Correctly
268(1)
Working with Dates and Times
268(8)
Creating Dates and Times
269(2)
Formatting Dates and Times
271(5)
Supporting Internationalization and Localization
276(9)
Picking a Locale
276(3)
Localizing Numbers
279(4)
Localizing Dates
283(1)
Specifying a Locale Category
284(1)
Loading Properties with Resource Bundles
285(8)
Creating a Resource Bundle
286(2)
Picking a Resource Bundle
288(1)
Selecting Resource Bundle Values
289(2)
Formatting Messages
291(1)
Using the Properties Class
292(1)
Summary
293(1)
Exam Essentials
294(1)
Review Questions
295(14)
Chapter 6 Modular Applications
309(36)
Reviewing Module Directives
310(1)
Comparing Types of Modules
311(5)
Named Modules
311(1)
Automatic Modules
312(3)
Unnamed Modules
315(1)
Comparing Module Types
315(1)
Analyzing JDK Dependencies
316(5)
Identifying Built-in Modules
316(2)
Using jdeps
318(3)
Migrating an Application
321(7)
Determining the Order
321(1)
Exploring a Bottom-Up Migration Strategy
322(2)
Exploring a Top-Down Migration Strategy
324(1)
Splitting a Big Project into Modules
325(1)
Failing to Compile with a Cyclic Dependency
326(2)
Creating a Service
328(9)
Declaring the Service Provider Interface
329(1)
Creating a Service Locator
330(2)
Invoking from a Consumer
332(1)
Adding a Service Provider
333(1)
Merging Service Locator and Consumer
334(3)
Reviewing Services
337(1)
Summary
337(1)
Exam Essentials
338(1)
Review Questions
339(6)
Chapter 7 Concurrency
345(74)
Introducing Threads
347(8)
Distinguishing Thread Types
348(1)
Understanding Thread Concurrency
348(1)
Defining a Task with Runnable
349(2)
Creating a Thread
351(2)
Polling with Sleep
353(2)
Creating Threads with the Concurrency API
355(12)
Introducing the Single-Thread Executor
355(1)
Shutting Down a Thread Executor
356(1)
Submitting Tasks
357(1)
Waiting for Results
358(4)
Submitting Task Collections
362(1)
Scheduling Tasks
363(3)
Increasing Concurrency with Pools
366(1)
Writing Thread-Safe Code
367(15)
Understanding Thread-Safety
367(2)
Protecting Data with Atomic Classes
369(2)
Improving Access with Synchronized Blocks
371(2)
Synchronizing on Methods
373(2)
Understanding the Lock Framework
375(4)
Orchestrating Tasks with a CyclicBarrier
379(3)
Using Concurrent Collections
382(7)
Understanding Memory Consistency Errors
383(1)
Working with Concurrent Classes
383(5)
Obtaining Synchronized Collections
388(1)
Identifying Threading Problems
389(5)
Understanding Liveness
390(3)
Managing Race Conditions
393(1)
Working with Parallel Streams
394(10)
Creating Parallel Streams
395(1)
Performing a Parallel Decomposition
396(2)
Processing Parallel Reductions
398(5)
Avoiding Stateful Operations
403(1)
Summary
404(1)
Exam Essentials
405(1)
Review Questions
406(13)
Chapter 8 I/O
419(56)
Understanding Files and Directories
420(6)
Conceptualizing the File System
420(2)
Storing Data as Bytes
422(1)
Introducing the File Class
422(4)
Introducing I/O Streams
426(7)
Understanding I/O Stream Fundamentals
426(1)
Learning I/O Stream Nomenclature
427(6)
Common I/O Stream Operations
433(7)
Reading and Writing Data
433(2)
Closing the Stream
435(1)
Manipulating Input Streams
436(2)
Flushing Output Streams
438(1)
Reviewing Common I/O Stream Methods
439(1)
Working with I/O Stream Classes
440(18)
Reading and Writing Binary Data
440(1)
Buffering Binary Data
441(2)
Reading and Writing Character Data
443(1)
Buffering Character Data
444(1)
Serializing Data
445(7)
Printing Data
452(5)
Review of Stream Classes
457(1)
Interacting with Users
458(6)
Printing Data to the User
459(1)
Reading Input as a Stream
460(1)
Closing System Streams
460(1)
Acquiring Input with Console
461(3)
Summary
464(1)
Exam Essentials
464(2)
Review Questions
466(9)
Chapter 9 NIO.2
475(54)
Introducing NIO.2
476(10)
Introducing Path
477(1)
Creating Paths
478(5)
Understanding Common NIO.2 Features
483(3)
Interacting with Paths
486(9)
Viewing the Path with toString(), getNameCount(), and getName()
486(1)
Creating a New Path with suhpath()
487(1)
Accessing Path Elements with getFileName(), getParent(), and getRoot()
488(2)
Checking Path Type with isAbsolute() and to AbsolutePath()
490(1)
Joining Paths with resolve()
491(1)
Deriving a Path with relativize()
491(2)
Cleaning Up a Path with normalize()
493(1)
Retrieving the File System Path with toRealPath()
493(1)
Reviewing Path Methods
494(1)
Operating on Files and Directories
495(8)
Checking for Existence with exists()
495(1)
Testing Uniqueness with isSameFile()
496(1)
Making Directories with createDirectory() and createDirectoriesQ
497(1)
Copying Files with copy()
498(2)
Moving or Renaming Paths with move()
500(1)
Deleting a File with delete() and deletelfExists()
500(1)
Reading and Writing Data with newBufferedReader() and newBufferedWriter()
501(1)
Reading a File with read All Lines()
502(1)
Reviewing Files Methods
502(1)
Managing File Attributes
503(5)
Discovering File Attributes
503(3)
Improving Attribute Access
506(2)
Applying Functional Programming
508(9)
Listing Directory Contents
508(2)
Traversing a Directory Tree
510(4)
Searching a Directory with find()
514(1)
Reading a File with lines()
515(2)
Comparing Legacy java.io.File and NIO.2 Methods
517(1)
Summary
518(1)
Exam Essentials
518(2)
Review Questions
520(9)
Chapter 10 JDBC
529(46)
Introducing Relational Databases and SQL
530(5)
Identifying the Structure of a Relational Database
532(1)
Writing Basic SQL Statements
533(2)
Introducing the Interfaces of JDBC
535(2)
Connecting to a Database
537(5)
Building a JDBC URL
537(2)
Getting a Database Connection
539(3)
Working with a PreparedStatement
542(9)
Obtaining a PreparedStatement
543(1)
Executing a PreparedStatement
543(3)
Working with Parameters
546(3)
Updating Multiple Times
549(2)
Getting Data from a ResultSet
551(6)
Reading a ResultSet
551(4)
Getting Data for a Column
555(1)
Using Bind Variables
556(1)
Calling a CallableStatement
557(4)
Calling a Procedure without Parameters
558(1)
Passing an IN Parameter
559(1)
Returning an OUT Parameter
559(1)
Working with an INOUT Parameter
560(1)
Comparing Callable Statement Parameters
560(1)
Closing Database Resources
561(3)
Summary
564(1)
Exam Essentials
564(2)
Review Questions
566(9)
Chapter 11 Security
575(36)
Designing a Secure Object
576(7)
Limiting Accessibility
576(1)
Restricting Extensibility
577(1)
Creating Immutable Objects
578(3)
Cloning Objects
581(2)
Introducing Injection and Input Validation
583(5)
Preventing Injection with a PreparedStatement
583(3)
Invalidating Invalid Input with Validation
586(2)
Working with Confidential Information
588(3)
Guarding Sensitive Data from Output
589(1)
Protecting Data in Memory
589(1)
Limiting File Access
590(1)
Serializing and Deserializing Objects
591(6)
Specifying Which Fields to Serialize
591(1)
Customizing the Serialization Process
592(1)
Pre/Post-Serialization Processing
593(3)
Reviewing Serialization Methods
596(1)
Constructing Sensitive Objects
597(3)
Making Methods final
598(1)
Making Classes final
598(1)
Making the Constructor private
599(1)
Preventing Denial of Service Attacks
600(3)
Leaking Resources
600(1)
Reading Very Large Resources
600(1)
Including Potentially Large Resources
601(1)
Overflowing Numbers
601(1)
Wasting Data Structures
602(1)
Summary
603(1)
Exam Essentials
604(1)
Review Questions
605(6)
Appendices
611(1)
Appendix A The Upgrade Exam
611(46)
Working with Local Variable Type Inference
612(5)
Type Inference of var
613(1)
Examples with var
614(3)
Review of var Rules
617(1)
Introducing Modules
617(4)
Exploring a Module
618(1)
Benefits of Modules
619(2)
Creating and Running a Modular Program
621(7)
Creating the Files
622(1)
Compiling Our First Module
623(2)
Running Our First Module
625(2)
Packaging Our First Module
627(1)
Updating Our Example for Multiple Modules
628(7)
Updating the Feeding Module
628(1)
Creating a Care Module
629(2)
Creating the Talks Module
631(3)
Creating the Staff Module
634(1)
Diving into the module-info File
635(4)
exports
635(1)
Requires transitive
636(3)
provides, uses, and opens
639(1)
Discovering Modules
639(6)
The java Command
639(4)
The jar Command
643(1)
The jdeps Command
643(2)
The jmod Command
645(1)
Reviewing Command-Line Options
645(3)
Summary
648(1)
Exam Essentials
649(1)
Review Questions
650(7)
Appendix B Answers to Review Questions
657(40)
Chapter 1 Java Fundamentals
658(4)
Chapter 2 Annotations
662(3)
Chapter 3 Generics and Collections
665(4)
Chapter 4 Functional Programming
669(3)
Chapter 5 Exceptions, Assertions, and Localization
672(4)
Chapter 6 Modular Applications
676(2)
Chapter 7 Concurrency
678(4)
Chapter 8 I/O
682(3)
Chapter 9 NIO.2
685(4)
Chapter 10 JDBC
689(2)
Chapter 11 Security
691(2)
Appendix A: The Upgrade Exam
693(4)
Index 697
Scott Selikoff, OCA/OCP 8 and OCP 11, has been a professional Java Enterprise architect for over 20 years. He is the founder of Selikoff Solutions, LLC, specializing in building custom mobile and server solutions for businesses in the tri-state New York City area. Jeanne Boyarsky, OCA/OCP 8 and OCP 11, is a Java Champion and has worked as a Java developer for a major bank for more than 18 years. She is a senior moderator at CodeRanch, and trains and mentors students of all levels, including the programming division of a FIRST robotics team.