- Tel: +44 (0)1275 859666
EC22 - Java SE Programming Workshop - 4 Days
Course Description
This course covers all major aspects of programming up to and including Java SE 8 using a choice of IDE (Integrated Development Environment).
It is aimed at programmers who are already able to code simple Java applications and wish to broaden their knowledge with a greater understanding of the Java API.
Pre-requisites
An understanding of programming with Java or C++ is required. Students must be able to code simple Applications and Classes.
Knowledge of this can be gained by attending our Java Primer course EC21.
Objectives
The aim of this course is to give students a fully rounded general knowledge of programming with Java.
Whereas the Java Primer (EC21) course provides basic skills, this course moves onto more advanced topics including Collections, Generics, Threads, I/O, and Networking.
During the course the student will write many classes ensuring that the statements taught are fully understood and practical experience is gained.
The course is taught using a choice of IDE (Integrated Development Environment). The skills needed to use this software are presented as part of the course.
On completion of this course the student will be able to:
- Take advantage of and understand Interfaces
- Use the Collections Framework
- Understand which type of collection to use for a specific purpose
- Sort Objects using Comparable and Comparator interfaces
- Create and handle Exceptions
- Code custom Exception classes
- Use the Java Input/Output classes
- Understand and use Serialization to achieve persistence
- Understand multi-threading and synchronization and use the various techniques available to create separate threads
- Create socket based applications using the Networking classes
Environment
Development will be performed using:
- Eclipse
- IntelliJ
- NetBeans
- JBuilder
Customisation
For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.
Course Details
- ABSTRACT CLASSES AND INTERFACES
- Abstract Classes and Methods
- Interfaces
- An Example Without Using Interfaces
- Same Example Using Casting
- Defining an Interface
- Implementing an Interface
- Same Example Using Interfaces
- Interfaces with Default Methods - Java 8
- Functional Interfaces - Java 8
- Interfaces
- JAVA COLLECTIONS
- Introduction
- Using Collection Classes - Lists
- Iterator, Enumeration and For-Each
- Using Collection Classes - Maps
- Generics
- Collection Interfaces and Implementations
- Summary Of Collection Implementations (Classes)
- List Implementations
- Map Implementations
- SET IMPLEMENTATIONS
- Queue and Deque
- Stacks
- Properties
- Preferences
- Collection Utilities
- Sets - Set Methods
- SortedSet Methods
- Lists - List Methods
- ArrayList Methods
- LinkedList Methods
- Vector Methods
- Maps - Map Methods
- SortedMap Methods
- Hashtable Methods
- Streams - Java 8
- Parallel Streams - Java 8
- Map Enhancements - Java 8
- Using Collection Classes - Lists
- SORTING OBJECTS
- Sorting Objects
- The Comparable Interface
- Comparators
- More Ways To Sort Objects
- The Comparable Interface
- INNER CLASSES, ANONYMOUS CLASSES AND LAMBDA EXPRESSIONS
- xxRegularxx Inner Classes
- Referencing the Outer and Inner classes from within the Inner class
- Example of xxRegularxx Inner Class In Use
- Method-Local Inner Classes
- Anonymous Inner classes
- Implementing Interfaces with Anonymous Inner Classes
- Anonymous Inner Classes within Method calls
- Lambda Expressions (Java 8)
- Sorting Using the Comparator Interface - pre Java 8
- Sorting Using the Comparator Interface - Lamba
- Using Method References - Java 8
- Functional Interfaces - Java 8
- Built-In Functional Interfaces
- Built-In Functional Interfaces - Functions
- Built-In Functional Interfaces - Predicates
- Other Built-In Functional Interfaces
- Referencing the Outer and Inner classes from within the Inner class
- ERROR HANDLING
- Java Exceptions
- Error and Exception Classes
- Try / Catch Processing
- The Finally Block
- Java 7 Catch Blocks
- Passing Exceptions Up the Stack – the Throws clause
- The Throw Statement
- User Defined Exceptions
- Exceptions And Object Hierarchies
- Error and Exception Classes
- JAVA I/O
- Class java.io.File
- Input and Output Streams
- Classes to Read / Write
- NIO and Buffers
- Reading from Files
- close()
- Reading from Files Using a Scanner
- Reading from Files Using NIO
- Writing to Files
- Reading Data
- Writing Data
- Reading from System Input
- Standard Output Stream - System.out
- Serialization - Persistence of Objects
- Input and Output Streams
- JAVA7 AND NIO2
- Try-With-Resources
- NIO2
- Path
- Files
- FilesSystems and FileStore
- File Change Notification
- NIO2
- JUNIT INTRODUCTION
- JUnit Example
- JUnit assert Methods
- Testing for exceptions
- Testing Collections
- JUnit assert Methods
- JUNIT 4
- Testing with JUnit4
- Other JUnit 4 Features
- Other JUnit 4 Features
- JAVADOC
- What Does Javadoc Generate?
- Javadoc Tags
- Where Can Tags Be Used?
- Javadoc Tags
Course Format
Practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will build a complete application, gaining in complexity throughout.
Examples are used extensively, ranging from simple code snippets to full applications with complete 'real world' functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and 'experiment' with these under the instructor's guidance as they are introduced.
These examples are available to take away, along with the delegate's own work.
The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.