Juice (JVM)
JUICE är en Java ME experimentell Java virtuell maskin skriven i C enligt Sun Microsystems specifikationer. Juice JVM, designad för Java i realtid, utvecklades speciellt för att köras på operativsystemet NUXI. De mest relevanta egenskaperna hos Juice är relaterade till strukturen för högminnet, till objektfördelningspolicyn och till den skräpsamlare som används.
Hög minne
I Juice delas allt tillgängligt heapminne i "bitar" av förbestämd storlek. Minnesenheten som används är "d-ord" (som står för "dubbelord"). Den faktiska standardstorleken på bitarna är fixerad till 64 d-ord. De lediga minnesbitarna är organiserade i en länkad lista, medan bitarna som upptas av Java-objekt är kopplade till varandra genom en hierarkisk struktur på ett sätt som liknar representationen av UNIX-filsystemet.
Objektallokeringspolicy i realtid
Objektallokeringspolicyn i Juice är strikt kopplad till strukturen som används för att representera högminne. På grund av denna struktur blir det möjligt att allokera (och avallokera) Java-objekt på en tid som endast är beroende av storleken på själva objektet (förutsägbarhet).
Sopsamlaren Betala per användning
Den föreslagna sopsamlaren är baserad på en icke-kopierande spårningssamlare som utför minnesåtervinning endast när ett nytt objekt måste allokeras. Namnet på sophämtaren beror på att kostnaden som mutatorn betalar, i form av bortkastad tid för insamlarens utförande, är proportionell mot storleken på föremålet som ska fördelas.
Författare
Garbage Collector, Heap Memory Management: Corrado Santoro , Roberto Aloi
Allt annat: Corrado Santoro
- A. Corsaro, C. Santoro. Optimering av JVM-objektoperationer för att förbättra WCET-förutsägbarheten , artikel presenterad för den 4:e internationella workshopen om värsta fallets exekveringstid, 2004.
- A. Corsaro, C. Santoro. Ett C++ Native Interface för tolkade JVM. I 1st Intl. JTRES Workshop (JTRES'03). LNCS 2889, Springer, 2003.
- R. Aloi. Minneshantering och sophämtning i realtid Java (italienska) [ permanent död länk ] , avhandling i datateknik (University of Catania, Italien), 2005.