__
The Java Native Interface (JNI) is a programming framework that allows Java code running in the Java virtual machine (VM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C, C++ and assembly.

The JNI is used to write native methods to handle situations when an application cannot be written entirely in the Java programming language such as when the standard Java class library does not support the platform-specific features or program library. It is also used to modify an existing application, written in another programming language, to be accessible to Java applications. Many of the standard library classes depend on the JNI to provide functionality to the developer and the user, e.g. I/O file reading and sound capabilities. Including performance- and platform-sensitive API implementations in the standard library allows all Java applications to access this functionality in a safe and platform-independent manner. Before resorting to using the JNI developers should make sure the functionality is not already provided in the standard libraries.

The JNI framework lets a native method utilize Java objects in the same way that Java code uses these objects. A native method can create Java objects and then inspect and use these objects to perform its tasks. A native method can also inspect and use objects created by Java application code.

A surprisingly large number of projects we have worked on have required the use of JNI. Consequently, we have become very good at using it and it is probably safe to say, by now, that we are some of the most experienced JNI developers outside of Sun Microsystems today.

Here's a few of the jobs we've been tasked to do over the years:

  • Use a C SIP message stack with a Java server
  • Create a sexy, Java based touch screen home theater controller that uses Windows serial port COM objects
  • Run a secure Java Virtual Machine within an innocent looking screen saver
  • Paint Java-generated graphics within the native screen saver
  • Integrate Microsoft Instant Messaging (RTC/LCS) into a Java application
  • Create a Windows message pump for a Java application
  • Use an MFC dynamic link library from a Java application

  • Related Clients
  • Apptis
  • Undisclosed client

  • Related Experience
  • Digital Harmony
  • Versada Networks
  • JIVA Grid Computing System





















  • About Us | Site Map | Privacy Policy | Contact Us | ©2002 - 2007 Brain Murmurs, Inc. All rights reserved.