Real-Time Programming with Java

Course#: BSEMB1027

About this Course

Course Type Course Code Duration
Embedded Software BSEMB1027 2 Days

It is said that the creator of the Java programming language envisioned embedded systems as the target application. Certainly, Java’s built-in thread awareness, prevention of memory leaks, and security model are attractive features for the designers of real-time systems. Unfortunately, the standard Java virtual machines are extremely large and non-deterministic. This course demonstrates that, with the correct JVM, real-time Java programming is possible and powerful. Among other things, students will learn how to tune a garbage collector and develop multithreaded programs in Java.

Why Attend this Course?

What Makes this Course Stand Apart?

What you will Learn?

Audience

Embedded programmers contemplating or using Java
Engineering managers responsible for language choice

Prerequisites

Basic familiarity with Java syntax

Course Outline

Introduction
Real-Time Systems
Real-Time Java
Java Threads
Thread Creation
Thread States
Priorities
Timers and TimerTasks
Preemptive Scheduling
Preemption
Rate Monotonic Algorithm
Schedulable Bound
Aperiodic Tasks
Priority Inversion
Garbage Collection
Heap Terminology
Reference Counting
Mark and Sweep

Real-Time Garbage Collection
Real-Time Issues
Defragmentation
Efficiency
Preemptibility
Collector Pacing
Concurrent Programming
The Big Picture
Mutual Exclusion
Memory Visibility
Thread-Safe Classes
Waiting and Signaling
Safety and Liveness
Design Patterns
Active Objects
Message Queueing
Guarded Call
Thread Barrier
Rendezvous
Observer

Hands-On Tools/Platform

PERC Virtual Machine (link is external)
Eclipse (link is external)

0

Start typing and press Enter to search