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