Java Class Design
Implement encapsulationImplement inheritance including visibility modifiers and compositionImplement polymorphismOverride hashCode, equals and toString methods form Object classCreate and use singleton classes and immutable classesDevelop code that uses static keyword on initialize blocks, variables, methods and classesAdvanced Java Class Design
Develop code that uses abstract classes and methodsDevelop code that uses the final keywordCreate inner classes including static inner class, local class, nested class and anonymous inner classUse enumerated types including methods and constructors in an enum typeDevelop code that declares, implements and/or extends interfaces and use the @Override annotationCreate and use Lambda expressionsGenerics and Collections
Create and use a generic classCreate and use ArrayList, TreeSet, TreeMap and ArrayDeque objectsUse java.util.Comparator and java.lang.Comparable interfacesCollections Streams and FiltersIterate using for Each methods of Steams and ListDescribe Stream interface and Stream pipelineFilter a collection by using labda expressionsUse method references with SteamsLambda Built-in Functional Interfaces
Use the built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function and SupplierDevelop code that uses primitive versions of functionals interfacesDevelop code that uses binary versions of functionsl interfacesDevelop code that uses the UnaryOperator interfaceJava Stream API
Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() methodSearch for data by using search methods of the Stream classes including findFirst, findAny, anyMatch, allMatch, noneMatchDevelop code that uses the Optional classDevelop code that uses Stream data methods and calculation methodsSort a collection using Stream APISave results to a collections using the collect method and group/partition data using the Collectors classUse flatMap() mehtods in the Stream APIExceptions and Assertions
Use try-catch and throw statementsUse catch, multi-catch and finally clausesUse Autoclose resources with a try-with-resources statementCreate custom exceptions and Auto-closeable resourcesTest Invariants by using assertionsUse 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 DurationWork with dates and times across timezones and manage changes resulting form daylight savings including Format date and times valuesDefine and create and manage date-based and time-based events using Instant, Period, Duration and TemporalUnitJava I/O Fundamentals
Read and write data from the consuleUse BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream and PrintWriter in the java.io packageJava File I/O (NIO.2)
Use Path interface to operate on file and directory pathsUse Files class to check, read, delete, copy, movey, manage metadata of a file or directoryUse Stream API with NIO.2Java Concurrency
Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasksIdentify potential threading problems among deadlock, starvation, livelock and race conditions
Use synchronized keywork and java.util.concurrent.atomic package to control the order of thread executionUse java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
Use parallel Fork/Join FrameworkUse parallel Streams inclusing reduction, decomposition, merging processes, pipelines and performanceBuilding 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 implementationsIdentify the components required to connect to a database using the DriverManager class including the JDBC URLSubmit queries and read results from the database including creating statements, returning result sets, iterating through the results and properly closing result sets, statements and connectionsLocalization
Read and set the locale by using the Locale objectCreate and read a Properties fileBuild a resource bundle for each locale and load a resource bundle in an application