Course Overview:
This course describes the Java Native Interface (JNI) introduced with JDK1.1. JNI contains a mechanism by which Java and non-Java routines (written using C/C++ calling conventions) can interact.

Who This Course Is Appropriate For:
Java Programmers and technical managers who want to go beyond the basics of Java.

Prerequisites:
This course follows on from the course Programming in Java. Students are expected to be comfortable with the following concepts and the syntax required to express them in Java:

- Basic Language Elements
- Looping and Testing
- Methods
- References, Strings, and Arrays
- Classes
- Inheritance
- Exception handling
- Input and Output
- Packages
- Interfaces

A working knowledge of C (or at least the C subset of C++) is also necessary.

Materials:
Each buyer will receive one or both of the following materials, depending on purchase:

Java Native Methods – This manuscript was written specifically for teaching. It serves as a useful reference once the course has been completed.
Source Code – An electronic version of all of the source code shown in the text of this course.

Detailed Topics:
The topics covered include:

- Passing and Returning Primitives
- Passing and Returning Strings and Arrays
- Accessing Static Fields and Methods
- Accessing Instance Fields and Methods
- Catching and Throwing Exceptions
- Local and Global References
- Thread-Related Issues
- C++-specific Issues
- Embedding the JVM in a Native Program