Win a copy of Serverless Applications with Node.js this week in the NodeJS forum!
    Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Jeanne Boyarsky
  • paul wheaton
  • Junilu Lacar
  • Paul Clapham
  • Knute Snortum
Saloon Keepers:
  • Stephan van Hulst
  • Ron McLeod
  • Tim Moores
  • salvin francis
  • Carey Brown
  • Tim Holloway
  • Frits Walraven
  • Vijitha Kumara
  • Likes 2
  • Mark post as helpful
  • send pies
  • Report post to moderator
It's often helpful to be able to map objectives between exams.

Note: Oracle makes changes to the objectives. These Java 11 objectives are as of when the exam launched and may vary slightly from the latest. The gist is the same.

OCP 11 Part 2 ObjectiveOPC 11 Part 2 TextOCPJP 8 Objective
Java Fundamentals
1.1Create and use final classes2.2
1.2Create and use inner, nested and anonymous classes2.3
1.3Create and use enumerations2.4
Exception Handling and Assertions
2.1Use try-with-resources construct6.1, 6.2, 6.3
2.2Create and use custom exception classes6.4
2.3Test invariants by using assertions6.5
Java Interfaces
3.1Create and use interfaces with default methodsNew topic on exam
3.2Create and use interfaces with private methodsNew topic on exam
Generics and Collections
4.1Use wrapper classes, auto-boxing and auto-unboxingNew topic on exam (was implied)
4.2Create and use generic classes, methods with diamond notation and wildcards3.1
4.3Describe Collections Framework and use key collection interfaces3.2
4.4Use Comparator and Comparable interfaces3.3
4.5Create and use convenience methods for collections3.7
Functional Interfaces and Lambda Expressions
5.1Define and write functional interfacesNew topic on exam
5.2Create and use lambda expressions including statement lambdas,local-variable for lambda parametersNew topic on exam
Java Stream API
6.1Describe the Stream interface and pipelines3.6
6.2Use lambda expressions and method references2.6, 3.8
Built-in Functional Interfaces
7.1Use interfaces from java.util.function package4.1
7.2Use core functional interfaces including Predicate, Consumer, Function and Supplier4.1
7.3Use primitive and binary variations of base interfaces of java.util.function package4.2, 4.3
Lambda Operations on Streams
8.1Extract stream data using map, peek and flatMap methods5.1
8.2Search stream data using search findFirst, findAny, anyMatch, allMatch and noneMatch methods5.2
8.3Use Optional class5.3
8.4Perform calculations using count, max, min, average and sum stream operations5.4
8.5Sort a collection using lambda expressions5.5
8.6Use Collectors with streams, including the groupingBy and partitioningBy operation5.6
Migration to a Modular Application
9.1 Migrate the application developed using a Java version prior to SE 9 to SE 11 including top-down and bottom-up migration, splitting a Java SE 8 application into modules for migrationNew topic on exam
9.2 Run a modulaized application on classpath and on modulepathNew topic on exam
9.3 Use jdeps to determine dependencies and identify way to address the cyclic dependenciesNew topic on exam
Services in a Modular Application
10.1Describe the components of Services including directivesNew topic on exam
10.2Design a service type, load services using ServiceLoader, check for dependencies of the services including consumer and provider modulesNew topic on exam
11.1Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks10.1
11.2Use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList10.4
11.3Write thread-safe codeNew topic on exam (implied before)
11.4Identify threading problems such as deadlocks and livelocks10.2
Parallel Streams
12.1Develop the code that use parallel streams10.6
12.2Implement decomposition and reduction with streams10.6
I/O (Fundamentals and NIO2)
13.1Read data from and write console and file data using I/O Streams8.1, 8.2
13.2Use I/O Streams to read and write files8.1, 8.2
13.3Read and write objects by using serializationNew topic on exam (was off exam for a few editions)
13.4Use Path interface to operate on file and directory paths9.1
13.5Use Files class to check, delete, copy or move a file or directory9.2
13.6Use Stream API with Files9.3
Secure Coding in Java SE Application
14.1Prevent Denial of Service in Java applicationsNew topic on exam
14.2Secure confidential information in Java applicationNew topic on exam
14.3Implement Data integrity guidelines- injections and inclusion and input validationNew topic on exam
14.4Prevent external attack of the code by limiting Accessibility and Extensibility, properly handling input validation, and mutablityNew topic on exam
14.5Secure constructing sensitive objectsNew topic on exam
14.6Secure Serialization and DeserializationNew topic on exam
Database Applications with JDBC
15.1Connect to databases using JDBC URLs and DriverManager11.2
15.2Use PreparedStatement to perform CRUD operations11.1 (PreparedStatement not Statement)
15.3Use PreparedStatement and CallableStatement APIs to perform database operationsNew topic on exam
16.1Use Locale class12.2
16.2Use resource bundles12.4
16.3Format messages, dates, and numbers with JavaNew topic on exam (was on older versions of exam)
17.1Describe the purpose of annotations and typical usage patternsNew topic on exam
17.2Apply annotations to classes and methodsNew topic on exam
17.3Describe commonly used annotations in the JDKNew topic on exam
17.4Declare custom annotationsNew topic on exam

OCPJP 8 ObjectiveOCPJP 8 TextOCP 11 Part 2 Objective
Java Class Design
1.1Implement encapsulationNo longer in objectives)
1.2Implement inheritance including visibility modifiers and composition No longer in objectives (but implied)  
1.3Implement polymorphism No longer in objectives (but implied)  
1.4Override hashCode, equals, and toString methods from Object class No longer in objectives  (but implied)  
1.5Create and use singleton classes and immutable classes No longer in objectives
1.6Develop code that uses static keyword on initialize blocks, variables, methods, and classes No longer in objectives  (but implied)  
Advanced Class Design
2.1Develop code that uses abstract classes and methodsNo longer in objectives (but implied)  
2.2Develop code that uses final keyword1.1
2.3Create inner classes including static inner class, local class, nested class, and anonymous inner class1.2
2.4Use enumerated types including methods, and constructors in an enum type1.3
2.5Develop code that declares, implements and/or extends interfaces and use the atOverride annotationNo longer in objectives (but implied)
2.6Create and use Lambda expressions6.2
Generics and Collections
3.1Create and use a generic class4.2
3.2Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque objects4.3
3.3Use java.util.Comparator and java.lang.Comparable interfaces4.4
3.4Collections Streams and FiltersNo longer in objectives (but implied)
3.5Iterate using forEach methods of Streams and ListNo longer in objectives (but implied)
3.6Describe Stream interface and Stream pipeline6.1
3.7Filter a collection by using lambda expressions4.5
3.8Use method references with Streams6.2
Lambda Built-in Functional Interfaces
4.1Use  the built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier7.1, 7.2
4.2Develop code that uses primitive versions of functional interfaces7.3
4.3Develop code that uses binary versions of functional interfaces7.3
4.4Develop code that uses the UnaryOperator interfaceNo longer in objectives
Java Stream API
5.1Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method8.1
5.2Search for data by using search methods of the Stream classes including findFirst, findAny, anyMatch, allMatch, noneMatch8.2
5.3Develop code that uses the Optional class8.3
5.4Develop code that uses Stream data methods and calculation methods8.4
5.5Sort a collection using Stream API8.5
5.6Save results to a collection using the collect method and group/partition data using the Collectors class8.6
5.7Use of merge() and flatMap() methods of the Stream APINo longer in objectives
Exceptions and Assertions
6.1Use try-catch and throw statements2.1
6.2Use catch, multi-catch, and finally clauses2.1
6.3Use Autoclose resources with a try-with-resources statement2.1
6.4Create custom exceptions and Auto-closeable resources2.2
6.5Test invariants by using assertions2.3
Use Java SE 8 Date/Time API
7.1Create and manage date-based and time-based events including a combination of date and time into a single object using LocalDate, LocalTime, LocalDateTime, Instant, Period, and DurationNo longer in objectives
7.2Work with dates and times across timezones and manage changes resulting from daylight savings including Format date and times valuesNo longer in objectives
7.3Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnitNo longer in objectives
Java I/O Fundamentals
8.1Read and write data from the console13.1, 13.2
8.2Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the package13.1, 13.2
Java File I/O (NIO.2)
9.1Use Path interface to operate on file and directory paths13.4
9.2Use Files class to check, read, delete, copy, move, manage metadata of a file or directory13.5
9.3Use Stream API with NIO.213.6
Java Concurrency
10.1Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks11.1
10.2Identify potential threading problems among deadlock, starvation, livelock, and race conditions11.4
10.3Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread executionNo longer in objectives
10.4Use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList11.2
10.5Use parallel Fork/Join FrameworkNo longer in objectives
10.6Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance12.1, 12.2
Building Database Applications with JDBC
11.1Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations15.2
11.2Identify the components required to connect to a database using the DriverManager class including the JDBC URL15.1
11.3Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections15.2
12.1Describe the advantages of localizing an applicationNo longer in objectives
12.2Read and set the locale by using the Locale object16.1
12.3Create and read a Properties fileNo longer in objectives
12.4Build a resource bundle for each locale and load a resource bundle in an application16.2
Happily living in the valley of the dried frogs with a few tiny ads.
global solutions you can do in your home or backyard
    Bookmark Topic Watch Topic
  • New Topic
Boost this thread!