Java Class Design

Advanced Java Class Design

      • Develop code that uses abstract classes and methods
      • Develop code that uses the final keyword
      • Create inner classes including static inner class, local class, nested class, and anonymous inner class
      • Articles: Inner Class
      • Quizzes: Inner Class Quiz
      • Use enumerated types including methods, and constructors in an enum type
      • Develop code that declares, implements and/or extends interfaces and use the @Override annotation.
      • Create and use Lambda expressions
      • Articles: Lambda Expression
      • Quizzes: Lambda Expression Quiz

Generics and Collections

      • Create and use a generic class
      • Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque objects
      • Use java.util.Comparator and java.lang.Comparable interfaces
      • Collections Streams and Filters
      • Iterate using forEach methods of Streams and List
      • Describe Stream interface and Stream pipeline
      • Filter a collection by using lambda expressions
      • Use method references with Streams

Lambda Built-in Functional Interfaces

Java Stream API

      • Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method
      • Search for data by using search methods of the Stream classes including findFirst, findAny, anyMatch, allMatch, noneMatch
      • Develop code that uses the Optional class
      • Develop code that uses Stream data methods and calculation methods
      • Sort a collection using Stream API
      • Save results to a collection using the collect method and group/partition data using the Collectors class
      • Use flatMap() methods in the Stream API

Exceptions and Assertions

      • Use try-catch and throw statements
      • Articles: Try-Catch
      • Quizzes: Try-Catch Quiz
      • Use catch, multi-catch, and finally clauses
      • Articles: Try-Catch
      • Quizzes: Try-Catch Quiz
      • Use Autoclose resources with a try-with-resources statement
      • Articles: Try-Catch
      • Quizzes: Try-Catch Quiz
      • Create custom exceptions and Auto-closeable resources
      • Test invariants by using assertions

Use Java SE 8 Date/Time API

      • Create 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 Duration
      • Work with dates and times across timezones and manage changes resulting from daylight savings including Format date and times values
      • Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit

Java I/O Fundamentals

      • Read and write data from the console
      • Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.io package.

Java File I/O (NIO.2)

      • Use Path interface to operate on file and directory paths
      • Use Files class to check, read, delete, copy, move, manage metadata of a file or directory
      • Use Stream API with NIO.2

Java Concurrency

      • Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks
      • Identify potential threading problems among deadlock, starvation, livelock, and race conditions
      • Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution
      • Use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
      • Use parallel Fork/Join Framework
      • Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance.

Building Database Applications with JDBC

      • Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations
      • Identify the components required to connect to a database using the DriverManager class including the JDBC URL
      • Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections


      • Read and set the locale by using the Locale object
      • Create and read a Properties file
      • Build a resource bundle for each locale and load a resource bundle in an application


Leave your comment: