TY - JOUR
T1 - Fast portable orthogonally persistent Java
AU - Marquez, Alonso
AU - Zigman, John N.
AU - Blackburn, Stephen M.
PY - 2000/4/10
Y1 - 2000/4/10
N2 - A powerful feature of the Java programming language is its user-definable class loading policy, which when combined with the namespace independence between class loaders, allows portable implementation of semi-dynamic program transformations. Such transformations can be used for a range of purposes, including optimization and semantic extension. In this paper we present a framework for semantic extensions in Java. This framework consists of a number of simple but powerful transformations that, among other things, allow us to semantically extend Java 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 clean model of persistence. Significantly, our implementations are efficient and can outperform (in some cases) PJama, a well-known orthogonally persistent Java, which is based on a modified virtual machine. In addition to describing the application of these transformations to orthogonally persistent Java, we foreshadow their use in a number of other contexts, including dynamic instance versioning and instrumentation.
AB - A powerful feature of the Java programming language is its user-definable class loading policy, which when combined with the namespace independence between class loaders, allows portable implementation of semi-dynamic program transformations. Such transformations can be used for a range of purposes, including optimization and semantic extension. In this paper we present a framework for semantic extensions in Java. This framework consists of a number of simple but powerful transformations that, among other things, allow us to semantically extend Java 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 clean model of persistence. Significantly, our implementations are efficient and can outperform (in some cases) PJama, a well-known orthogonally persistent Java, which is based on a modified virtual machine. In addition to describing the application of these transformations to orthogonally persistent Java, we foreshadow their use in a number of other contexts, including dynamic instance versioning and instrumentation.
UR - http://www.scopus.com/inward/record.url?scp=0033734514&partnerID=8YFLogxK
U2 - 10.1002/(SICI)1097-024X(20000410)30:4<449::AID-SPE306>3.0.CO;2-Y
DO - 10.1002/(SICI)1097-024X(20000410)30:4<449::AID-SPE306>3.0.CO;2-Y
M3 - Article
SN - 0038-0644
VL - 30
SP - 449
EP - 479
JO - Software - Practice and Experience
JF - Software - Practice and Experience
IS - 4
ER -