Fast portable orthogonally persistent Java

Alonso Marquez, John N. Zigman, Stephen M. Blackburn

    Research output: Contribution to journalArticlepeer-review

    9 Citations (Scopus)

    Abstract

    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.

    Original languageEnglish
    Pages (from-to)449-479
    Number of pages31
    JournalSoftware - Practice and Experience
    Volume30
    Issue number4
    DOIs
    Publication statusPublished - 10 Apr 2000

    Fingerprint

    Dive into the research topics of 'Fast portable orthogonally persistent Java'. Together they form a unique fingerprint.

    Cite this