ERA is in the process of being migrated to Scholaris, a Canadian shared institutional repository service (https://scholaris.ca). If you encounter any issues depositing to ERA, please contact erahelp@ualberta.ca
- 260 views
- 187 downloads
MCI-Java: A Modified JVM Approach to Multiple Code Inheritance
-
- Author(s) / Creator(s)
-
Java has multiple inheritance of interfaces, but only single inheritance of code via classes. This situation results in duplicated code in Java library classes and application code. We describe a generalization to the Java language syntax and the Java Virtual Machine (JVM) to support multiple inheritance of code, called MCI-Java. Our approach places multiply-inherited code in a new language construct called an implementation, which lies between an interface and a class in the inheritance hierarchy. MCI-Java does not support multiply-inherited data, which can cause modeling and performance problems. The MCI-Java extension is implemented by making minimal changes to the Java syntax, small changes to a compiler (IBM Jikes), and modest localized changes to a JVM (SUN JDK 1.2.2). The JVM changes result in no measurable performance overhead in real applications.
-
- Date created
- 2004
-
- Type of Item
- Conference/Workshop Presentation
-
- License
- © 2004. The USENIX Association. This version of this article is open access and can be downloaded and shared. The original author(s) and source must be cited.