Abstract
This paper describes JuNI++, a C++ native interface for interpreted Java Virtual Machines. While JuNI++ was initially designed in order to integrate the RTSJ implementation jRate with Juice, a virtual machine for small footprint environments, its engineering and performance advantages outlived the initial goal. The main contribution of this paper is to show how a C++ based native interface can fully and efficiently support the Java mapping in interpreted environments without requiring any cooperation from the C++ compiler.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kaffe Virtual Machine Home Page (2002), http://www.kaffe.org
NUXI Home Page (2002), http://nuxi.iit.unict.it
Superwaba Home Page (2002), http://www.superwaba.org
Stefano, A.D., Santoro, C.: A Java Kernel for Embedded Systems in Distributed Process Control. IEEE Concurrency, special issue on Operating Systems Research & Development 8(4) (2000)
Stefano, A.D., Santoro, C.: Java Devices for Distributed Process Control. In: Proc. of 2000 IEEE International Symposium on Industrial Electronics (ISIE 2000). IEEE, Los Alamitos (2000)
Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Hardin, D., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)
Corsaro, A., Cytron, R.K.: Efficient Memory-Reference Checks for Real-Time Java. In: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, pp. 51–58. ACM Press, New York (2003)
Corsaro, A., Schmidt, D.C.: Evaluating Real-Time Java Features and Performance for Real-time Embedded Systems. In: Proceedings of the 8th IEEE Real-Time Technology and Applications Symposium, San Jose. IEEE, Los Alamitos (September 2002)
Corsaro, A., Schmidt, D.C.: The Design and Performance of the jRate Real- Time Java Implementation. In: Meersman, R., Tari, Z., et al. (eds.) CoopIS 2002, DOA 2002, and ODBASE 2002. LNCS, vol. 2519, pp. 900–921. Springer, Heidelberg (2002)
Czaenwcki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)
Gamma, E., Helm, R., Johnson, R., Vlissides, R.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)
GNU is Not Unix. The Cygnus Native Interface for C++/Java Integration, http://gcc.gnu.org/java/papers/cni/t1.html
GNU is Not Unix. GCJ: The GNU Complier for Java (2002), http://gcc.gnu.org/java
IBM. WebSphere Studio Device Developer (2003), http://www-3.ibm.com/software/wireless/wsdd/
Lindholm, T., Yellin, F.: The Java(TM) Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (1999)
Lutz, M.: Programming Python, 2nd edn. O’Reilly, Sebastopol (2001)
Santoro, C.: An Operating System in a Nutshell. Internal Report, Dept. of Computer Engineering and Telecommunication, UniCT, Italy (2002)
Sun Microsystems inc. Java Micro Edition Documentation (2002), http://java.sun.com/j2me
Sun Microsystems inc. Java Native Interface Documentation (2002), http://java.sun.com/j2se/1.4.2/docs/guide/jni/index.html
Sun Microsystems inc. KVM White Paper (2002), http://java.sun.com
The AspectJ Organization. Aspect-Oriented Programming for Java (2001), http://www.aspectj.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Corsaro, A., Santoro, C. (2003). A C++ Native Interface for Interpreted JVMs. In: Meersman, R., Tari, Z. (eds) On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops. OTM 2003. Lecture Notes in Computer Science, vol 2889. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39962-9_60
Download citation
DOI: https://doi.org/10.1007/978-3-540-39962-9_60
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20494-7
Online ISBN: 978-3-540-39962-9
eBook Packages: Springer Book Archive