Java Programming // // JV-200

JV-200: Advanced Java Programming – J2SE

home > training > JV-200: Advanced Java Programming – J2SE

JV-200: Advanced Java Programming – J2SE

$2,995.00

  • 5 Days
Partner DeliveryThis live class is delivered by a partner at another location. Students attend online from their home or office.
Interested in scheduling a date for this course?
Request A Date
x
Course:

Course Description

This five-day course, learn about object oriented programming and advanced skills.

Outline

OO Analysis & Design

  • Coupling
  • Cohesion
  • Composition
  • Composition vs. inheritance
  • Inheritance
  • Object layers
  • Design patterns

Inheritance advanced

  • Abstract vs. concrete
  • Inheriting an abstract class
  • Constructors & inheritance
  • Construction process
  • Object layers
  • Chaining constructors with Eclipse
  • Superclass references
  • Casting back to subclass references
  • Polymorphism
  • Polymorphic methods
  • Object oriented principles

Interfaces

  • Definition
  • Typical discovery
  • Creating an interface
  • Writing interface methods
  • Implementing interfaces
  • Eclipse and interfaces

Class organization

  • Packages
  • Declaring a package
  • Nested packages
  • Qualified class names
  • Providing access to package classes
  • Package access keywords

Exception Handling

  • Old school
  • OO school
  • OO error handling
  • try and catch
  • Catching what?
  • Two exception types
  • Unchecked exceptions - Eclipse
  • Checked exceptions - Eclipse
  • Multiple catch blocks
  • Defining your own error states
  • Rethrowing
  • finally
  • Defer error handling
  • Throwable
  • Inheritance structure
  • Try-with-resources
  • Multi-catch

Programmer features

  • varargs
  • printf( )
  • enhanced for loop
  • Autoboxing / unboxing
  • Static imports

Generics

  • Definition
  • Convenience
  • Comparable interface

Collections

  • Collection vs. array
  • Architecture
  • Other collections
  • Four properties of data structures
  • Collection superinterface
  • List interface
  • Iterators
  • List Iterators
  • Set interface
  • SortedSet interface
  • Comparator
  • Map interface
  • Map.Entry
  • SortedMap interface
  • Collections class
  • Arrays class
  • Properties and Preferences
  • Early collections

Debugging

  • Old school
  • Better - System.err
  • Better yet - redirect to file
  • Redirect to file - Eclipse
  • The best - Logger
  • Assertions
  • Debugger
  • Debugger features
  • Debugger flow control
  • Debugger variables
  • Debugger watch

Strings and Regex

  • The String cache
  • equals( )
  • String methods
  • Expensive concat( )
  • Regex usage
  • Regex syntax
  • Pattern class
  • Matcher class

Threads

  • Concepts
  • Definitions 1
  • UML activity diagram
  • Thread basics
  • Threads with inheritance
  • Definitions 2
  • Running threads
  • UML sequence diagram
  • Four states
  • Thread properties
  • Threads by interface
  • The target
  • The target container
  • Common thread pattern
  • Enhancements
  • UML class diagrams
  • Timing threads
  • Forks and joins
  • Code locks (monitors)
  • Synchronized blocks
  • Wait / notify
  • Stopping / interrupting
  • Thread scheduling
  • Thread scheduling by time
  • volatile
  • Thread groups
  • Standard threads / priority
  • Use need-to-know
  • Deadlock
  • Pipes
  • Daemons
  • Concurrency utilities
  • Books

Nested classes

  • Inner classes
  • Nested or inner classes
  • Creating an inner class object
  • Accessing with inner classes
  • Static inner class
  • Static inner class syntax
  • Local class
  • Anonymous class
  • Anonymous classes in Swing

Dates & Time

  • java.util.Date
  • java.text.DateFormat
  • DateFormat methods
  • DateFormat examples
  • String --> Date
  • java.text.SimpleDateFormat
  • SimpleDateFormat patterns
  • java.util.GregorianCalendar

Enumerations

  • The enum
  • Enum options
  • syntax
  • Enums in the APIs

I/O

  • History
  • Byte streams
  • Character streams
  • Predefinied streams
  • Basic pattern
  • Bytes to characters
  • File class
  • Scanner class
  • Using Swing’s file chooser
  • Text files
  • PrintWriter class
  • Write a text file 1
  • Persist an entity
  • Write a text file 2
  • Read a file
  • Binary files
  • File input - binary
  • File output - binary
  • Object files
  • Serialization
  • Write objects
  • Read objects
  • Random access files

Networking

  • java.net.Socket class
  • A socket test
  • InetAddress class
  • java.net.ServerSocket class
  • An echo server
  • A client

Audience

Anyone who has had some background in programming Java with J2SE but would like to brush up and learn new skills.

Prerequisites

It's recommended that students have experience within the last few years of programming Java at a basic level.

What You Will Learn

Students will have an overview of Java’s libraries for handling special requirements and will build competency in J2SE Java programming.