Oracle Certified Java Professional [1Z0-804]

This course is aimed at Java developers who are preparing for the Oracle Certified Professional, Java SE 7 Programmer II [1Z0-804] examination. The course includes detailed coverage of all the topics in the exam, and includes comprehensive examples and exercises to assist your preparation for the exam as well as your general Java career.

Java IO Fundamentals

Read and write data from the console

Use streams to read from and write to files by using classes in the java.io package including BufferedReader, BufferedWriter, File, FileReader, FileWriter, DataInputStream, DataOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter

Java File I/O (NIO.2)

Operate on file and directory paths with the Path class

Check, delete, copy, or move a file or directory with the Files class

Read and change file and directory attributes, focusing on the BasicFileAttributes, DosFileAttributes, and PosixFileAttributes interfaces

Recursively access a directory tree using the DirectoryStream and FileVisitor interfaces

Find a file with the PathMatcher interface

Watch a directory for changes with the WatchService interface

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)

Use JDBC transactions (including disabling auto-commit mode, committing and rolling back transactions, and setting and rolling back to savepoints)

Construct and use RowSet objects using the RowSetProvider class and the RowSetFactory interface

Create and use PreparedStatement and CallableStatement objects

Threads

Create and use the Thread class and the Runnable interface

Manage and control thread lifecycle

Synchronize thread access to shared data

Identify code that may not execute correctly in a multi-threaded environment

Concurrency

Use collections from the java.util.concurrent package with a focus on the advantages over and differences from the traditional java.util collections

Use Lock, ReadWriteLock, and ReentrantLock classes in the java.util.concurrent.locks package to support lock-free thread-safe programming on single variables

Use Executor, ExecutorService, Executors, Callable, and Future to execute tasks using thread pools

Use the parallel Fork/Join Framework

Localization

Read and set the locale by using the Locale object

Build a resource bundle for each locale

Call a resource bundle from an application

Format dates, numbers, and currency values for localization with the NumberFormat and DateFormat classes (including number format patterns)