Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us

 


 Java Training Courses
J-502
Java for Embedded Linux Devices

Length: 5 days
Cost: Contact Feabhas (available for on-site delivery only)
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail

Course Description:
Java has rapidly established itself as a language for applicatio
development and server side computing, but with a reputation as being too large and slow for real-time and embedded software development.

This course aims to show how Java running on the Linux operating system can be used in real-time and embedded projects and importantly provide developers with significant advantages over other languages. A complete tour of the Java facilities for the resource constrained environment is provided, including the J2ME Personal Profile and the Real-Time Java Specification.

Who Should Attend:
The course is suitable for anybody who wishes to gain a thorough understanding of the Java programming language and its use in resource constrained environments running the Linux operating system.

Overview:
This five day course provides a thorough grounding in the Java language, highlighting the significant benefits the language provides real-time developers in terms of portability, concurrency, productivity and reliability.

Via a mixture of demonstration and practical sessions, delegates will gain a sound appreciation of how Java applications running on the Linux operating system provide a cost effective approach to developing robust, maintainable applications.

Forty percent of the course is spent on practical work.

Course Objectives:
• To provide an understanding of the fundamentals of the Java programming language
• To introduce Concurrency and networking aspects of Java
• To provide a complete picture of the Java landscape for resource constrained environments
• To highlight how Java can be used on embedded Linux powered hardware

Delegates will learn:
• The core Java syntax and semantics
• How to use Java on embedded Linux devices
• Write concurrent and networked solutions to real problems
• Coding with J2ME and particularly with the personal profile
• About memory and performance issues associated with Java
• How to link with C and C++

Pre-requisites:
Experience of programming in a high level language.

Duration:
Five days

Course Materials:
• Delegate Handbook

Related courses:
• OO-503 Real-Time Software Design with UML 2.0
• RTOS-201 Fundamentals of Real-Time Operating Systems
• EL-503 Developing for Embedded Linux
• EL-504 Developing Linux Device Drivers

Course Workshop:
The course exercises are based on a case study of a remote monitoring and control system. A configuration utility is developed and a graphical user interface in Java then added. For remote access to the system, delegates implement a full concurrent Web server that provides remote access via a standard Web browser. The item of plant to be controlled is a water pump motor. This case study highlights a complete end to end system implemented in Java and highlights the advantages and disadvantages of the language.

Course Outline:

Introduction to Java Programming
- What is Java
- What can be developed with Java
   - J2SE
   - J2EE
   - J2ME
- Embedded Java
   - Java Card
   - Personal Java
- Evolution of Java
- Embedded Linux
   - What is Embedded Linux
   - Requirements for Java on Embedded Linux
Object Oriented Programming
- Introduction to Object Orientation
- Encapsulation, Inheritance and Polymorphism
The Core Java Language

- Identifiers and Reserved Words
- Primitive data types
- Expressions and operators
      - Iteration
      - Decision making
- Classes and objects
- Arrays
Classes and Interfaces
- Constructing and Destroying Objects
- Encapsulation
- Inheritance
- Abstract classes and methods
- Interfaces
- Static members
- Inner classes
- Anonymous classes
Graphical User Interfaces
- Creating graphical user interfaces
- Event handling
Java I/O
- Input/Output streams
- Java Exception handling
Concurrency in Java
- Introduction to threading
- The Java threading API
- Synchronisation techniques
- Thread scheduling
Networking in Java
- TCP/IP Networking
- Java Networking API
J2ME
- Resource constrained virtual machines (KVM, CVM)
- Configurations
   - CLDC
   - CDC
- Profiles
- Mobile Information Device Profile(MIDP)
- Personal Profile
   - Writing applets
   - Writing Xlets
   - Personal Profile vs Personal Java
The Java Native Interface
- Calling native methods(C/C++) from Java
- Sharing data between Java and native methods
- Handling and generating exceptions in native methods
- Multi-threaded access to data
- Accessing device drivers
Java Real-Time Specification
- What is the Java Real-Time pecification?
- Thread scheduling and dispatching
- Schedulability of threads
- Memory management
- Thread synchronization
- Asynchronous events
Course Summary

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Design Patterns Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-401
AWDM-501
C-501
C++-303
C++-501
C++-502
C++-503
DP-401
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-301
TCP-401
WDF-501
WDM-501