The Java Native Interface
Lieferbar innert 2 Wochen
BeschreibungThe Java Native Interface (JNI) enables the integration of code written in the Java programming language with code written in other languages such as C and C++. It allows programmers to take full advantage of the Java platform without having to abandon their investment in legacy code.
This book is the definitive resource and a comprehensive guide to working with the JNI. Entirely up-to-date, the book offers a tutorial, a detailed description of JNI features and programming techniques, JNI design justifications, and the official specification for all JNI types and functions.
You will find coverage of important topics such as:
- Writing native methods
- Passing data types between the Java language and native programming languages
- Embedding a Java virtual machine implementation in native applications
- Leveraging legacy native libraries
- Improving the efficiency and reliability of your code
An entire chapter is devoted to avoiding common traps and pitfalls. The book uses numerous examples to illustrate programming techniques that have proven to be effective.
InhaltsverzeichnisI. INTRODUCTION AND TUTORIAL. 1. Introduction. The Java Platform and Host Environment. Role of the JNI. Implications of Using the JNI. When to Use the JNI. Evolution of the JNI. Example Programs. 2. Getting Started. Overview. Declare the Native Method. Compile the HelloWorld Class. Create the Native Method Header File. Write the Native Method Implementation. Compile the C Source and Create a Native Library. Run the Program. II. PROGRAMMER'S GUIDE. 3. Basic Types, Strings, and Arrays. A Simple Native Method. Accessing Strings. Accessing Arrays. 4. Fields and Methods. Accessing Fields. Calling Methods. Invoking Constructors. Caching Field and Method Ids. Performance of JNI Field and Method Operations. 5. Local and Global References. Local and Global References. Freeing References. Rules for Managing References. 6. Exceptions. Overview. Proper Exception Handling. 7. The Invocation Interface. Creating the Java Virtual Machine. Linking Native Applications with the Java Virtual Machine. Attaching Native Threads. 8. Additional JNI Features. JNI and Threads. Writing Internationalized Code. Registering Native Methods. Load and Unload Handlers. Reflection Support. JNI Programming in C++. 9. Leveraging Existing Native Libraries. One-to-One Mapping. Shared Stubs. One-to-One Mapping versus Shared Stubs. Implementation of Shared Stubs. Peer Classes. 10. Traps and Pitfalls. Error Checking. Passing Invalid Arguments to JNI Functions. Confusing jclass with jobject. Truncating jboolean Arguments. Boundaries between Java Application and Native Code. Confusing IDs with References. Caching Field and Method Ids. Terminating Unicode Strings. Violating Access Control Rules. Disregarding Internationalization. Retaining Virtual Machine Resources. Excessive Local Reference Creation. Using Invalid Local References. Using the JNIEnv across Threads. Mismatched Thread Models. III. SPECIFICATION. 11. Overview of the JNI Design. Design Goals. Loading Native Libraries. Linking Native Methods. Calling Conventions. The JNIEnv Interface Pointer. Passing Data. Accessing Objects. Errors and Exceptions. 12. JNI Types. Primitive and Reference Types. Field and Method Ids. String Formats. Constants. 13. JNI Functions. Summary of the JNI Functions. Specification of JNI Functions. Index. 0201325772T04062001
PortraitSheng Liang, a staff engineer in Java Software at Sun Microsystems, Inc., designed the JNI and led the Java virtual machine development for the first release of the Java 2 platform. He holds a Ph.D. in computer science from Yale University. 0201325772AB04062001
Untertitel: Programming Guide and Reference. 'Java Series'. Illustrations. Sprache: Englisch.
Verlag: Pearson Education (US)
Erscheinungsdatum: Juni 1999
Seitenanzahl: 320 Seiten