Fast portable orthogonally persistent Java
暂无分享,去创建一个
A powerful feature of the Java programming languageis its user-definableclassloading policy, which when combined with the namespaceindependencebetween class loaders, allows portable implementation of semi-dynamic program transformations. Suchtransformations canbeusedfor a rangeof purposes,including optimization and semanticextension. In this paper wepresenta framework for semanticextensionsin Java. This framework consistsof a number of simplebut powerful transformations that, amongother things, allow us to semanticallyextendJava to provide orthogonal persistence. The use of semi-dynamic program transformations lends our orthogonally persistent Java a number of important qualities, including simplicity, portability and a cleanmodel of persistence.Significantly, our implementationsare efficient and can outperform in somecasesPJama , a well-known orthogonally persistent Java, which is basedon a modified virtual machine. In addition to describing the application of thesetransformations to orthogonally persistentJava, we foreshadow their usein a number of other contexts,including dynamic instanceversioning and instrumentation. Copyright c 1999John Wiley & Sons,Ltd.
[1] Malcolm P. Atkinson,et al. Design Issues for Persistent Java: A Type-Safe, Object-Oriented, Orthogonally Persistent System , 1996, POS.
[2] Kresten Krab Thorup. Genericity in Java with Virtual Types , 1997, ECOOP.
[3] Stephen N. Freund,et al. Adding type parameterization to the Java language , 1997, OOPSLA '97.