Search our courses
Training

This Advanced Java using Eclipse training course teaches how to develop advanced Java applications using Eclipse. The advanced features of Java that developers may be using in many different types of programs are covered.

The labs cover many advanced topics that students will encounter when programming Java applications. Together these labs give students practical hands-on experience in creating and deploying advanced Java technologies using Eclipse.

 

Objectives:

  • After completing this course, the student should be able to:
  • Test Java code using JUnit
  • Understand how to connect to databases and work with data
  • Use the logging capabilities built into the Java language
  • Use the support for multiple languages provided by Java
  • Use the reflection API to programmatically obtain details on Java classes
  • Provide better architecture for Java programs
  • Work with multi-threaded Java applications
  • Use networking and distributed technologies of Java
  • Work with XML from Java code
  • Use Java capabilities to intergrate with non-Java code
  • Use the security APIs provided with the Java language

Advanced Java using Eclipse

Course Code

GTJ02

Duration

5 Days

Course Fee

POA

Accreditation

N/A

Target Audience

This Advanced Java using Eclipse training course is intended for programmers who are familiar with Java and want to learn about the advanced features of Java.

Attendee Requirements

A good understanding of object-oriented programming using Java. The following course meets this requirement:

Expand all

Course Description

This Advanced Java using Eclipse training course teaches how to develop advanced Java applications using Eclipse. The advanced features of Java that developers may be using in many different types of programs are covered.

The labs cover many advanced topics that students will encounter when programming Java applications. Together these labs give students practical hands-on experience in creating and deploying advanced Java technologies using Eclipse.

 

Objectives:

  • After completing this course, the student should be able to:
  • Test Java code using JUnit
  • Understand how to connect to databases and work with data
  • Use the logging capabilities built into the Java language
  • Use the support for multiple languages provided by Java
  • Use the reflection API to programmatically obtain details on Java classes
  • Provide better architecture for Java programs
  • Work with multi-threaded Java applications
  • Use networking and distributed technologies of Java
  • Work with XML from Java code
  • Use Java capabilities to intergrate with non-Java code
  • Use the security APIs provided with the Java language
Course Outline

1. COLLECTIONS AND GENERICS

  1.     What are Collections?
  2.     Arrays vs. Collections
  3.     Main Collections Interfaces
  4.     java.util.Collection
  5.     Main Collection Methods
  6.     Sets
  7.     java.util.List
  8.     java.util.Queue
  9.     Iteration on a Collection
  10.     Iterator vs. For-Each Loop
  11.     Maps
  12.     java.util.Map
  13.     Other Maps
  14.     Collections Implementations
  15.     Abstract Implementations
  16.     Choosing a Collection Type
  17.     Generics
  18.     Generics and Collections
  19.     Generic Collection Example
  20.     Collections and Primitive Types

2. JAVABEANS

  1.     Overview
  2.     Structure
  3.     Life Cycle
  4.     Properties
  5.     Example
  6.     Making a Bean

3. JDBC

  1.     Overview
  2.     Types of Drivers
  3.     Making a Connection
  4.     Statements
  5.     Execute, Update and ResultSets
  6.     SQLException
  7.     Prepared Statements
  8.     Stored Procedures
  9.     Transactions
  10.     Connection Pooling

4. ENTITIES AND JAVA PERSISTENCE API

  1.     Data Persistence
  2.     Java Persistence API
  3.     Entities
  4.     Session Beans Vs Entities
  5.     Entities
  6.     Persisting and Retrieving Data
  7.     Accessing Entities
  8.     EntityManager & Persistence Unit
  9.     Persistence Context
  10.     Entities – Example
  11.     persistence.xml – Hibernate Provider
  12.     persistence.xml – Open JPA Provider
  13.     persistence.xml – Toplink
  14.     Entity Instance Lifecycle
  15.     Creating EntityManager in Session EJB
  16.     Creating EntityManager in a Plain Java Class
  17.     Working With the EntityManager Interface
  18.     Transaction Basics

5. INTERNATIONALIZATION

  1.     Internationalization
  2.     Adoption Stages
  3.     Internationalization
  4.     Locale
  5.     Dates
  6.     User Interface design
  7.     Resource Bundles
  8.     Other Local Customs
  9.     How Java Represents Characters
  10.     Text Files
  11.     Text files

6. THE REFLECTION API

  1.     Overview
  2.     Dynamic Facilities In Java
  3.     What this Dynamic Aspect Implies
  4.     Considerations
  5.     The Class class
  6.     Examining Classes
  7.     The Example From Last Time
  8.     An Example
  9.     Reflection Allows
  10.     Reflection Also Allows
  11.     When Not to Use Reflection
  12.     Examining Classes
  13.     Manipulating Objects
  14.     Creating Objects
  15.     Getting Field Values
  16.     Setting Field Values
  17.     An example
  18.     Arrays

7. ARCHITECTURE

  1.     Tiered Architectures
  2.     Presentation Layer
  3.     Middle Tier
  4.     Model View Controller
  5.     Extensible Markup Language
  6.     XML

8. THREADS

  1.     Overview of Threads
  2.     Threads in Java Programming
  3.     Write a Runnable Class
  4.     Create Threads
  5.     Another Way of Creating Threads
  6.     Two ways of creating threads
  7.     States in a Thread’s Lifetime
  8.     JVM Scheduler
  9.     Control and Schedule Thread
  10.     Executor Interface
  11.     Callable<V> Interface
  12.     ExecutorService Interface
  13.     Future<T> Object
  14.     Coordinating the Concurrency of Multiple threads
  15.     Synchronization
  16.     How Does the Object Lock Flag Work
  17.     Using the synchronized keyword
  18.     The implication of synchronization
  19.     Example of Synchronization – Producer/Consumer
  20.     Example of Synchronization – MyStack
  21.     Example of Synchronization – Producer
  22.     Example of Synchronization – Consumer
  23.     Example of Synchronization – SyncTest
  24.     But…
  25.     Coordinating Thread Cooperation
  26.     wait() and notify()
  27.     Example of Coordination Producer/Consumer
  28.     Example of Coordination – MyStack
  29.     Results
  30.     Deadlock

9. NETWORKING

  1.     Overview
  2.     URL Connections
  3.     Browser Example
  4.     InetAddress
  5.     Socket Classes
  6.     Simple Clients and Servers
  7.     Simple Clients and Servers (cont.)
  8.     Multithreaded Servers
  9.     UDP Sockets

10. PARSING XML WITH SAX

  1.     Obtaining a Parser
  2.     SAX
  3.     How it Works
  4.     Core SAX2 Handler Classes
  5.     SAX2 DefaultHandler
  6.     SAX Events
  7.     Ignorable Whitespace
  8.     XMLReader Interface
  9.     XMLReader Features
  10.     XMLReader Factory
  11.     Prepare SAX Parser Object
  12.     Parse XML with SAX – Steps
  13.     Define an Event Handler
  14.     Prepare SAX Parser Object
  15.     Define an Event Handler – startElement()
  16.     Define an Event Handler – Element Attributes
  17.     Define an Event Handler – Get Number of Attributes
  18.     Define an Event Handler – Get Name of Attributes
  19.     Define an Event Handler – Get Attribute Values
  20.     Define an Event Handler – An Example
  21.     Define an Event Handler – characters()
  22.     Using characters()
  23.     Define an Event Handler – Error Handling
  24.     Define an Event Handler – ErrorHandler interface
  25.     Parse XML Document
  26.     Simple SAX Parser
  27.     Run the SAX Application
  28.     EntityResolver
  29.     Locator
  30.     Document Locator

11. PARSING XML WITH DOM

  1.     DOM
  2.     Limitations of SAX
  3.     XML as an Object Model
  4.     Nodes
  5.     The Basic Node Types
  6.     Less Common Node Types
  7.     Node Interface
  8.     Document Interface
  9.     NodeList Interface
  10.     Element Interface
  11.     Attr Interface
  12.     Text Interface
  13.     DOM Parsing
  14.     Parse XML with DOM – Steps
  15.     Prepare DOM Parser Object
  16.     Parse XML Document
  17.     Parse Exceptions
  18.     Example – SimpleDOMParser
  19.     Writing DOM

12. THE JAVA ARCHITECTURE FOR XML BINDING (JAXB)

  1.     Introduction to JAXB
  2.     Overview of Data Binding
  3.     JAXB Architecture
  4.     Binding Example
  5.     Binding Framework Example
  6.     Java and XML Mapping Overview
  7.     Namespace and Package Name Mapping
  8.     Simple Type Mapping
  9.     Complex Type Mapping
  10.     Customizing Complex Type Mapping
  11.     Property Accessor Customization
  12.     Property Mapping Customization
  13.     XML Element Mapping
  14.     Mapping Java Enums
  15.     Mapping Collections
  16.     Generating Java Class and Schema
  17.     Marshalling and Unmarshalling

13. JAVA LOGGING API

  1.     Java Logging API
  2.     Control Flow of Logging
  3.     Logging Levels
  4.     Logging Handlers
  5.     Loggers
  6.     Logging Example
  7.     Logging Formatters & Log Manager
  8.     Logging Configuration File
  9.     Example Logging Configuration File
  10.     Logging Filters

14. DISTRIBUTED OBJECTS

  1.     Serialization
  2.     Externalizable
  3.     Remote Method Invocation
  4.     Steps to implement RMI
  5.     RMI – Remote Object Registry
  6.     RMI – Dynamic class loading
  7.     RMI and Applets

15. SECURITY

  1.     Attacks and Dangers
  2.     Overview of JDK Security Features
  3.     Overview of JDK Security Features – cont’
  4.     Basic Concepts of Computer Security
  5.     Encryption
  6.     Cryptography Algorithm
  7.     Message Digest
  8.     Symmetric Ciphers
  9.     Asymmetric Ciphers
  10.     Digital Signature
  11.     Authentication
  12.     Certificate Manipulation
  13.     Java Cryptography Architecture (JCA)
  14.     Java Cryptography Extension
  15.     Using the MessageDigest Class
  16.     Example of Using the MessageDigest Class
  17.     Example of Using MessageDigest Class – cont’
  18.     Using the Signature Class
  19.     Java Security Architecture
  20.     JDK 1.0 Security Model –Sandbox
  21.     JDK 1.1 Security Model – Trusted Signed Code
  22.     JDK 1.2 Security Model – Security Policy
  23.     JDK 1.4 Security Enhancement
  24.     Protection Domains and Security Policies
  25.     ProtectionDomain Class
  26.     Permission Classes
  27.     Using Permission Classes
  28.     Policy Class
  29.     Policy Configuration File
  30.     AccessController Class
  31.     SecurityManager Class
  32.     Using the SecurityManager Class
  33.     Dynamic Class Loader
  34.     Loader Classes
  35.     Example of Security Check in a Class Loader
  36.     Java Security Tools
  37.     Using Java Security Tools – Code Signing

16. JNI

  1.     Overview
  2.     JNI Architecture
  3.     Calling C Functions
  4.     The Header File
  5.     Passing Simple Parameters
  6.     Mapping Java Types
  7.     Calling Java Methods
  8.     The Invocation API
  9.     Exception Handling
  10.     Native Exception to Java
  11.     Java Exception In Native Code
  12.     Code Sample

17. JUNIT

  1.     What is JUnit?
  2.     Why JUnit?
  3.     The xUnit Philosophy
  4.     Test-Driven Design
  5.     A JUnit Test
  6.     Running the Tests
  7.     Swing-based Test Runner
  8.     Text-based Test Runner
  9.     JUnit Basics
  10.     assertTrue
  11.     assertEquals
  12.     assertSame
  13.     assertNull
  14.     The Failure Message
  15.     The Test Class
  16.     The Test Method
  17.     The Test Suite
  18.     JUnit with Annotations
  19.     JUnit 4 Test Suite
  20.     JUnit Design
  21.     Testing Strategies
  22.     Specific Techniques
  23.     Testing Simple Java classes
  24.     Testing with Databases
  25.     Testing Web Applications
  26.     Testing Java EE Web Applications
  27.     JUnit with Ant
  28.     JUnit with Eclipse
  29.     Create a Test Case
  30.     Test Case “Stubs”
  31.     Running Tests
  32.     Eclipse Test Runner Icons
  33.     Rerun an Individual Test
  34.     Failure Trace
  35.     Debug with JUnit
  36.     Test Suite Wizard

18. SUMMARY OF RECENT JAVA CHANGES

  1.     JDK 1.4 – New Features
  2.     JDK 1.4 – New I/O API
  3.     Buffer
  4.     Channel
  5.     Simple Write Example
  6.     Simple Read Example
  7.     File Locking
  8.     Simple Locking Example
  9.     Memory Mapping File
  10.     Example Memory Mapping
  11.     Regular Expression Search
  12.     JDBC 3.0 Enhancements
  13.     XML Processing Using JAXP
  14.     Example SAX Handler
  15.     Example: Begin Parsing
  16.     Example: Build DOM Document
  17.     Example: Save DOM Document in a File
  18.     XML Serialization Format
  19.     Chained Exception
  20.     JDK 1.4 – Assertions
  21.     When to use Assertions
  22.     Enabling Assertions
  23.     Java 5 – New Features
  24.     Java 5 – Type Safe Enums
  25.     Java 5 – Generics
  26.     Java 5 – Generics and Collections
  27.     Java 5 – Generic Collection Example
  28.     Java 5 – Autoboxing/Unboxing
  29.     Java 5 – Enhanced for loop
  30.     Java 5 – Variable Arguments
  31.     Java 5 – Variable Arguments Example
  32.     Java 5 – Static import
  33.     Java 5 – Annotations
  34.     Java 5 – Library Additions
  35.     Java 6 – New Features
  36.     Java 6 – Web Services
  37.     Java 6 – XML
  38.     Java 6 – Database
Learning Path

There are a number of options of suitable follow-on courses, depending on your business needs. Please Contact Us for further details.

Ways to Attend
  • Attend a public course, check our schedule
  • Private onsite Team training also available

Private Team Training is available for this course

We deliver this course either on or off-site in various regions around the world, and can customise your delivery to suit your exact business needs. Talk to us about how we can fine-tune a course to suit your team's current skillset and ultimate learning objectives.

Private Team Training | Contact us

Technical ICT learning & mentoring services

Private Team Training

Our instructors are specialist consultants with vast real world experience and expertise allowing them to design and deliver client-focused courses for your organisation.

Learn more about our Private Team Training

What Our Clients Say

“Given the breadth of the course, I think it was very well structured and organised, I got a lot
out of it.”     

 

JVM Tuning - Bespoke Course

Live Online - May 2020

 

“This was an excellent course and was lots of fun to attend. Instructor started with basic intro to
containerization, then explained Kubernetes and the different components (Container
engine, orchestrator, control plane) which all made sense because of the containerization
intro. The parts of the course layered on top of one another to give a good understanding of
Kubernetes.”

 

Kubernetes for App Developers - GTLFKAD

Live Online - Nov 2020

 

“Really enjoyed the course, it has been an eye opener on opportunities to steer how we approach the cloud from a IT Service Management perspective.”

 

Professional Cloud Service Manager - GTC13

Live Online May 2020

 

''Fantastic course, looking forward to applying this in my work and home life. Excellent, practical approach, very motivational. I think the entire company should attend training.''

 

Being Agile in Business - GTBAB

Sept 2019

“The instructor was great! I didn't expect such a good level of teaching with what some may
consider a dry subject. This was simply great!”  

 

Linux LPIC-1 - GTU8

Live Online - August 2020

 

"Intelligence is the ability to avoid doing work, yet
getting the work done"

Linus Torvalds, creator of Linux and GIT

Technical ICT learning & mentoring services

About GuruTeam

GuruTeam is a high-level ICT Learning, Mentoring and Consultancy services company. We specialise in delivering instructor-led on and off-site training in Blockchain, Linux, Cloud, Big Data, DevOps, Kubernetes, Agile, Software & Web Development technologies. View our Testimonials

Download our eBrochure
Our Accreditation Partners
  •  
  •  
  •  

 

Upcoming Courses

Kubernetes Administration

31 May - 4 June 2021

Live Online

This Kubernetes Administration Certification training course is suitable for anyone who wants to learn the skills necessary to build and administer a Kubernetes cluster

Learn More

LPIC-1 PART 1

22 - 25 June 2021 

Live Online

This Linux certification training course teaches in-depth skills in the basics of Linux Administration.
 

Learn More

DEVOPS FOUNDATION TRAINING

14 - 15 June 2021

Live Online

The purpose of the certification and its associated course is to impart, test and validate knowledge of DevOps basic vocabulary, principles and practices.

Learn More

 INTRO TO PYTHON 3

May 18 – 20 2021

Live Online        

A comprehensive introduction to the core syntax and functions provided by Python, including coverage of its object-oriented and functional programming features.

Learn More

Newsletter

Stay up to date, receive updates on scheduled dates, new courses, offers, and events.

Subscribe to our Newsletter