project = jse72-sample (still in progress)
Java Class Design
[ ] Use access modifiers: private, protected, and public
[ ] Override methods
[ ] Overload constructors and other methods appropriately
[ ] Use the instanceof operator and casting
[ ] Use virtual method invocation
[ ] Override methods from the Object class to improve the functionality of your class
[ ] Use package and import statements
Advanced Class Design
[ ] Identify when and how to apply abstract classes
[ ] Construct abstract Java classes and subclasses
[ ] Use the static and final keywords
[ ] Create top-level and nested classes
[ ] Use enumerated types
Object-Oriented Design Principles
[ ] Write code that declares, implements and/or extends interfaces
[ ] Choose between interface inheritance and class inheritance
[ ] Develop code that implements “is-a” and/or “has-a” relationships.
[ ] Apply object composition principles
[ ] Design a class using the Singleton design pattern
[ ] Write code to implement the DAO pattern
[ ] Design and create objects using a factory, and use factories from the API
Generics and Collections
[ ] Create a generic class
[ ] Use the diamond syntax to create a collection
[ ] Analyze the interoperability of collections that use raw type and generic types
[ ] Use wrapper classes and autoboxing
[ ] Create and use a List, a Set and a Deque
[ ] Create and use a Map
[ ] Use java.util.Comparator and java.lang.Comparable
[ ] Sort and search arrays and lists
String Processing
[ ] Search, parse and build strings
[ ] Search, parse, and replace strings by using regular expressions, using expression patterns for matching limited to: . (dot), * (star), + (plus), ?, d, D, s, S, w, W, b. B, [], ().
[ ] Format strings using the formatting parameters: %b, %c, %d, %f, and %s in format strings.
Exceptions and Assertions
[ ] Use throw and throws statements
[ ] Use the try statement with multi-catch, and finally clauses
[ ] Autoclose resources with a try-with-resources statement
[ ] Create custom exceptions
[ ] Test invariants by using assertions
Java I/O Fundamentals
[ ] Read and write data from the console
[ ] Use streams to read and write files
Java File I/O (NIO.2)
[ ] Use the Path class to operate on file and directory paths
[ ] Use the Files class to check, delete, copy, or move a file or directory
[ ] Read and change file and directory attributes
[ ] Recursively access a directory tree
[ ] Find a file by using the PathMatcher class
[ ] Watch a directory for changes by using WatchService
Building Database Applications with JDBC
[ ] Define the layout of the JDBC API
[ ] Connect to a database by using a JDBC driver
[ ] Update and query a database
[ ] Customize the transaction behavior of JDBC and commit transactions
[ ] Use the JDBC 4.1 RowSetProvider, RowSetFactory, and RowSet interfaces
Threads
[ ] Create and use the Thread class and the Runnable interface
[ ] Manage and control thread lifecycle
[ ] Synchronize thread access to shared data
[ ] Identify potential threading problems
Concurrency
[ ] Use java.util.concurrent collections
[ ] Apply atomic variables and locks
[ ] Use Executors and ThreadPools
[ ] Use the parallel Fork/Join Framework
Localization
[ ] Read and set the locale by using the Locale object
[ ] Build a resource bundle for each local
[ ] Load a resource bundle in an application
[ ] Format text for localization by using NumberFormat and DateFormat
Leave a Reply