Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 9, Issue 1, Pages 39-50

Creating Java to Native Code Interfaces with Janet

Marian Bubak,1,2 Dawid Kurzyniec,3 Piotr Łuszczek,4 and Vaidy Sunderam3

1Institute of Computer Science, AGH, al. Mickiewicza 30, 30-059 Kraków, Poland
2Academic Computer Centre — CYFRONET, Nawojki 11, 30-950 Kraków, Poland
3Emory University, Atlanta, Department of Math and Computer Science, 1784 North Decatur Road, Suite 100, Atlanta, GA 30322, USA
4University of Tennessee, Knoxville, Department of Computer Science, 1122 Volunteer Blvd., Suite 203, Knoxville, TN 37996-3450, USA

Received 20 September 2001; Accepted 20 September 2001

Copyright © 2001 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


Java is growing in appropriateness and usability for high performance computing. With this increasing adoption, issues relating to combining Java with existing codes in other languages become more important. The Java Native Interface (JNI) API is portable but too inconvenient to be used directly owing to its low-level API. This paper presents Janet — a highly expressive Java language extension and preprocessing tool that enables convenient integration of native code with Java programs. The Janet methodology overcomes some of the limitations of JNI and generates Java programs that execute with little or no degradation despite the flexibility and generality of the interface.