Oracle Certified Professional: Java SE 11 Developer Proficiency (Advanced Level)

  • 30m
  • 30 questions
The Java SE 11 Developer Proficiency benchmark measures your knowledge of streams and pipelines in Java and performing lambda operations. You will be evaluated on your skills in performing file I/O operations, managing metadata, walking a file tree using NIO.2, deploying JAR files, and applying modular design principles. You will also be assessed on your ability to work with services, migrate applications from previous Java versions, work with java.util.concurrent collections, and write thread-safe code. A learner who scores high on this benchmark demonstrates that they have the skills to work with streams, perform lambda operations, implement NIO.2, perform migrations, and manage services.

Topics covered

  • apply reduction on parallel operations for concurrency management
  • compile and run a modular application
  • demonstrate how to prevent interference during the execution of stream pipelines
  • demonstrate the features of streams and pipelines with focus on reduction operations and ordering
  • describe class accessibility in JDK 9 modules
  • describe Java modular design principles
  • describe NIO.2 with focus on Buffers, Channels, Charset, and Selector
  • describe the different types of service, how to load services using ServiceLoader, and check for dependencies that include the Consumer and Provider modules
  • describe the structure of stream operations and pipelines
  • identify distribution and dependency issues related to JAR files
  • implement completion handlers to replace future objects
  • manage metadata using NIO.2
  • perform calculations using the count, max, min, average and sum Stream operations
  • perform file I/O operations using NIO.2 classes
  • recall the channels that support asynchronous I/O operations
  • recognize the differences between collections and streams and describe how to obtain streams
  • run a program from a JAR file on the command line
  • run modularized applications on classpath and modulepath
  • search stream data using the findFirst, findAny, anyMatch, allMatch, and noneMatch methods
  • use collectors with Stream, including the groupingBy and partitioningBy operations
  • use enhanced features of the Optional class in Java SE 11
  • use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
  • use JDeps to determine dependencies and identify approaches for addressing cyclic dependencies
  • use the Predicate, Consumer, Function, and Supplier interfaces based on case studies
  • use the Primitive and Binary variations of the Base interfaces of the java.util.function package
  • use the Stream API to search and match data
  • use the StreamSupport class to work with low-level stream construction
  • walk a file tree using NIO.2
  • work with Lambda expressions and method references
  • write thread-safe code