SableVM - SableVM - Wikipedia
Vývojáři | Sable Research Group ve společnosti McGill University |
---|---|
Konečné vydání | 1.13 / 30. března 2007 |
Úložiště | |
Operační systém | Cross-platform |
Typ | Virtuální stroj Java |
Licence | GNU Lesser General Public License |
webová stránka | sablevm |
SableVM byl implementace čisté místnosti z Jáva bytecode tlumočník provádění Virtuální stroj Java (VM ) specifikace, druhé vydání. SableVM byl navržen tak, aby byl robustní, extrémně přenosný, efektivní a plně vyhovující specifikacím (JVM spec, Nativní rozhraní Java, Invocation interface, Debug interface, atd.) Java Virtual Machine, který by se snadno udržoval a rozšiřoval.[Citace je zapotřebí ] Nyní již není udržována.
Implementace byla součástí snahy na počátku 2000 Jáva ekosystém bez Sun Microsystems ovládání.[1][2][3]
Přehled
Jádro motoru je tlumočník který používal převratné techniky k zajištění výkonu, který se může blížit výkonu „naivního“ kompilátor just-in-time (JIT), při zachování softwarové inženýrství výhody tlumočníků: přenosnost, udržitelnost a jednoduchost.[4][5] Tato jednoduchost dělá SableVM zdrojový kód velmi přístupné a snadno srozumitelné pro nové uživatele / programátory.
SableVM je Svobodný software - má licenci pod GNU Malá obecná veřejná licence (LGPL ). Využívá také GNU Classpath (chráněno autorským právem FSF ), který je licencován pod GNU General Public License s výjimkou propojení.
SableVM je první open-source virtuální stroj pro Javu, aby zahrnoval podporu pro JVMDI (Java Virtual Machine Debugging Interface) a JDWP (Java Debug Wire Protocol).[Citace je zapotřebí ] Tato standardní rozhraní pro ladění prostředí Java používá například Zatmění poskytovat bohaté a uživatelsky přívětivé vývojové prostředí Java.
Mezilehlý jazyk Java
Některé verze SableVM používají Java Intermediate Language, prostřední jazyk (což je podmnožina XML ) představující typovou strukturu a Jáva program. Jazyk navrhl tým SableVM v McGill University v lednu 2002 na podporu analýzy programu Java s cílem škálovatelnosti a dobrého výkonu.[6][7] Jazyk nebyl široce přijat.
Zvažte následující část kódu Java.
veřejnost Moje třída nářadí MyInterface rozšiřuje MySupperClass { int MyField; prázdnota MyMethod (dvojnásobek X, dvojnásobek y) { dvojnásobek z; z = X + y; tento.MyField = z }}
Tuto část lze vyjádřit v jazyce následovně:
<jil> jméno ="Moje třída" prodlužuje =„MySupperClass“> jméno ="veřejnost" /> jméno ="myinterface" /> <fields> jméno =„MyField“ zadejte ="int" /> </fields> <methods> jméno =„Moje metoda“ návratový typ ="neplatný"> <parameters> jméno ="X" zadejte ="dvojnásobek" /> jméno ="y" zadejte ="dvojnásobek" /> </parameters> <locals> jméno =„z“ zadejte ="dvojnásobek" /> </locals> <statements> generátor kódu jako tři adresy. Níže používá se jazyk zvaný baf. -> <baf> $ r2 = $ r0 + $ r1; this.MyField = (double) $ r2; ]]> <!-- Here, we are assuming x is expressed as $r0, y $r1 and z $r2. --> </baf> </statements> </method> </methods></class></jil>
Viz také
Reference
- ^ „Sun jím schválený Open Source java dělá pokrok“. Tazatel. 2006-03-31. Citováno 2012-12-02.
- ^ „O'Reilly Network zvítězil; platforma SNAP se otřásla“. Onlamp.com. Citováno 2012-12-02.
- ^ „Barbaři u brány | SYS-CON.TV“. Tv.sys-con.com. 2006-09-22. Citováno 2012-12-02.
- ^ Gagnon, Etienne M. a Laurie J. Hendren. „SableVM: Rámec výzkumu pro efektivní provádění bajtového kódu Java.“ Sborník z Java Virtual Machine Research and Technology Symposium. Sv. 1. 2001.
- ^ Prokopski, Gregory B., Etienne M. Gagnon a Christian Arcand. Rámec pro testování kódu Bytecode pro stroj pro kopírování kódu SableVM. Technická zpráva SABLETR-2007-9, Sable Research Group, School of Computer Science, McGill University, Montréal, Québec, Kanada, 2007.
- ^ Eng, David. „JIL: rozšiřitelný přechodný jazyk.“ Sable Research Group, McGill University (2002).
- ^ Eng, David. Kombinace statických a dynamických dat ve vizualizaci kódu. Sv. 28. Č. 1. ACM, 2002.