Skip to content

Reference code files used during practice for newer features in Java SE 17, Lambdas, Functional Programming, Streams, Concurrency, Sealed Classes, LocalDateTime methods, Records ...

Notifications You must be signed in to change notification settings

DhruvJawalkar/OCPJavaSE17Dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OCPJavaSE17Dev

Code repository with section wise breakdown of topics:

  • Section 2: Building Blocks
  • Section 3: Operators
  • Section 4: Flow Control
  • Section 5: Strings
  • Section 6: Arrays
  • Section 7: Date and Time
  • Section 8: Methods
  • Section 9: Class Design
  • Section 10: Abstract Classes and Interfaces
  • Section 11: Lambdas and Functional Programming
  • Section 12: Collections
  • Section 13: Exceptions
  • Section 14: Math APIs
  • Section 15: Beyond Classes
  • Section 16: Streams
  • Section 17: Localization
  • Section 18: Modules
  • Section 19: Concurrency
  • Section 20: I/O
  • Section 21: JDBC

View source code

Exam Topics

Handling date, time, text, numeric and boolean values

  • Use primitives and wrapper classes including Math API, parentheses, type promotion, and casting to evaluate arithmetic and boolean expressions
  • Manipulate text, including text blocks, using String and StringBuilder classes
  • Manipulate date, time, duration, period, instant and time-zone objects using Date-Time API

Controlling Program Flow

  • Create program flow control constructs including if/else, switch statements and expressions, loops, and break and continue statements

Utilizing Java Object-Oriented Approach

  • Declare and instantiate Java objects including nested class objects, and explain the object life-cycle including creation, reassigning references, and garbage collection
  • Create classes and records, and define and use instance and static fields and methods, constructors, and instance and static initializers
  • Implement overloading, including var-arg methods
  • Understand variable scopes, use local variable type inference, apply encapsulation, and make objects immutable
  • Implement inheritance, including abstract and sealed classes. Override methods, including that of Object class. Implement polymorphism and differentiate object type versus reference type. Perform type casting, identify object types using instanceof operator and pattern matching
  • Create and use interfaces, identify functional interfaces, and utilize private, static, and default interface methods
  • Create and use enumerations with fields, methods and constructors

Handling Exceptions

  • Handle exceptions using try/catch/finally, try-with-resources, and multi-catch blocks, including custom exceptions

Working with Arrays and Collections

  • Create Java arrays, List, Set, Map, and Deque collections, and add, remove, update, retrieve and sort their elements

Working with Streams and Lambda expressions

  • Use Java object and primitive Streams, including lambda expressions implementing functional interfaces, to supply, filter, map, consume, and sort data
  • Perform decomposition, concatenation and reduction, and grouping and partitioning on sequential and parallel streams

Packaging and deploying Java code and use the Java Platform Module System

  • Define modules and their dependencies, expose module content including for reflection. Define services, producers, and consumers
  • Compile Java code, produce modular and non-modular jars, runtime images, and implement migration using unnamed and automatic modules

Managing concurrent code execution

  • Create worker threads using Runnable and Callable, manage the thread lifecycle, including automations provided by different Executor services and concurrent API
  • Develop thread-safe code, using different locking mechanisms and concurrent API
  • Process Java collections concurrently including the use of parallel streams

Using Java I/O API

  • Read and write console and file data using I/O Streams
  • Serialize and de-serialize Java objects
  • Create, traverse, read, and write Path objects and their properties using java.nio.file API

Accessing databases using JDBC

  • Create connections, create and execute basic, prepared and callable statements, process query results and control transactions using JDBC API

Implementing Localization

  • Implement localization using locales, resource bundles, parse and format messages, dates, times, and numbers including currency and percentage values

About

Reference code files used during practice for newer features in Java SE 17, Lambdas, Functional Programming, Streams, Concurrency, Sealed Classes, LocalDateTime methods, Records ...

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages