Training agenda
  1. Class construction
    • Class components
    • Internal classes
    • Local classes
    • Anonymous classes
    • Static classes
  2. Input-output operations
    • Streams
    • File operations
    • Closing streams
    • Decorators
    • NIO and NIO.2 library
    • Directories and directory trees
    • Operations on files and file system
    • Monitoring changes
  3. Selected design patterns
    • Singleton
    • Builder
  4. Operations on collections
    • Use of generic types
    • Sorting collections and other algorithms
    • Collections and multithreading
  5. Lambda expressions
    • An example problem and a trivial solution
    • Use of the delegation
    • Anonymous classes
    • Lambda expressions
    • Lambda project
    • Functional interface
    • The type of lambda expressions
    • References
    • Effective final variables
  6. Built-in functional interfaces
    • Generic functional interfaces
    • Primitive functional interfaces
    • Binary functional interfaces
    • Operators
  7. Data streams (Stream API)
    • Definition of data stream
    • Stream features
    • Creating streams
    • Optional values
    • Intermediate operations
    • Terminal operations
    • Sorting data in the stream
    • Serial and parallel streams
  8. Formatting and internationalization
    • The need for multi-linguicism
    • Locators
    • ResourceBundle class
    • Formatting
  9. Multithreaded programming part 1
    • Creating multithreaded applications
    • Creating and starting threads
    • Thread control methods
    • Ending a thread work
    • Thread states
    • Data protection
    • Cooperation of threads
  10. Multithreaded programming part 2
    • Receiving the results of asynchronous calculations
    • Task planning
    • Atomic types
    • Cyclic barrier
    • The Fork / Join Framework
  11. Creating a graphical interface
    • Graphic library assumptions
    • Basic concepts when creating a GUI
    • Managing the distribution of components
    • Swing app
    • Delegative event model
    • Graphic applications, and multi-threading
    • Building a menu
  12. Programming of databases
    • DAO pattern
    • Introduction to JDBC
    • Establishing a connection
    • Processing of query results
    • Introduction to JPA