Preface

Table of Contents
Why Read This Book?
This Book's Audience
Getting This Book
Getting JamaicaVM
Release Notes — JamaicaVM 3.2
Request for Comments
Notations and Conventions

The Java programming language, with its clear syntax and semantics, is a programming language that is meant for the creation of complex and reliable systems. It has come a long way from being a language which quickly became popular because of its use in platform-independent applets embedded in web pages, to become the dominant language for complex software development projects.

The embedded and realtime community is only starting to see the benefits of the Java language and to overcome the prejudices against object oriented programming constructs such as dynamic binding and automatic memory management. Anyone who has experienced the benefits these mechanisms have had on software development productivity and improved quality of resulting applications will find them essential when developing software for embedded and time critical applications.

This manual describes JamaicaVM, a Java implementation that brings technologies that are required for embedded and time critical applications and that are not available in classic Java implementations. This enables this new application domain to profit from the advantages that have provided an enormous boost to most other software development areas.

Why Read This Book?

Most developers familiar with Java environments will quickly be able to use the tools provided with JamaicaVM to produce immediate results. It is therefore tempting to go ahead and develop your code without studying this manual further.

Even though immediate success can be achieved easily, we recommend that you have a closer look at this manual, since it provides a deeper understanding of how the different tools work and how to achieve the best results when optimizing for runtime performance, memory demand or development time.

The JamaicaVM tools provide a myriad of options and settings that have been collected in this manual. Developing a basic knowledge of what possibilities are available may help you to find the right option or setting when you need it. Our experience is that significant amounts of development time can be avoided by a good understanding of the tools. Learning about the correct use of the JamaicaVM tools is an investment that will quickly pay-off during daily use of these tools!