Jump to content

СаблеВМ

СаблеВМ
Разработчик(и) Группа исследований соболя в Университете Макгилла
Финальный выпуск
1.13 / 30 марта 2007 г .; 17 лет назад ( 30 марта 2007 )
Репозиторий
Операционная система Кросс-платформенный
Тип Виртуальная машина Java
Лицензия Меньшая стандартная общественная лицензия GNU
Веб-сайт саблевм .org

SableVM представлял собой чистую реализацию интерпретатора Java байт-кода , реализующую спецификацию виртуальной машины Java ( VM ), второе издание. SableVM был разработан как надежная, чрезвычайно портативная, эффективная и полностью соответствующая спецификациям (спецификация JVM, собственный интерфейс Java , интерфейс вызова, интерфейс отладки и т. д.) виртуальная машина Java, которую можно было бы легко поддерживать и расширять. [ нужна ссылка ] Сейчас он больше не поддерживается.

Реализация была частью усилий начала 2000-х годов по освобождению экосистемы Java от Sun Microsystems . контроля [1] [2] [3]

Ядро ядра представляет собой интерпретатор , в котором использованы новаторские методы для обеспечения производительности, которая может приблизиться к производительности «наивного» JIT-компилятора , сохраняя при этом разработке программного обеспечения преимущества интерпретаторов в : переносимость , удобство сопровождения и простоту . [4] [5] SableVM Эта простота делает исходный код очень доступным и понятным для новых пользователей/программистов.

SableVM — это бесплатное программное обеспечение , оно распространяется под лицензией GNU Lesser General Public License ( LGPL ). Он также использует GNU Classpath (авторские права принадлежат FSF ), который лицензируется по лицензии GNU General Public License с исключением ссылок .

SableVM — первая виртуальная машина с открытым исходным кодом для Java, включающая поддержку JVMDI (интерфейс отладки виртуальной машины Java) и JDWP (протокол отладки Java). [ нужна ссылка ] Эти стандартные интерфейсы отладки Java используются, например, в Eclipse для обеспечения богатой и удобной среды разработки Java.

Промежуточный язык Java

[ редактировать ]

Некоторые версии SableVM используют Java Intermediate Language, промежуточный язык (который является подмножеством XML ), представляющий структуру типов программы Java . Этот язык был предложен командой SableVM в Университете Макгилла в январе 2002 года для облегчения анализа Java-программ с целью обеспечения масштабируемости и хорошей производительности. [6] [7] Язык не получил широкого распространения.

Рассмотрим следующий фрагмент кода Java.

public MyClass implements MyInterface extends MySupperClass {
  int MyField;

  void MyMethod (double x, double y) {
    double z;
    z = x + y;
    this.MyField = z
  }
}

Это произведение можно выразить на языке следующим образом:

<jil>
<class name="MyClass" extends="MySupperClass">
  <modifiers><modifier name="public" /></modifiers>
  <interfaces><interface name="myinterface" /></interfaces>
    
  <fields>
    <field name="MyField" type="int" />
  </fields>

  <methods>
    <method name="MyMethod" returntype="void">
    <parameters>
      <parameter name="x" type="double" />
      <parameter name="y" type="double" />
    </parameters>
    <locals>
      <local name="z" type="double" />
    </locals>
    <statements>
      <!-- Each statement is expressed by some intermediate format for
           code generator like three address code. In the below
           a language called baf is used. -->
      <baf>
        <![CDATA[
          $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>

См. также

[ редактировать ]
  1. ^ «Прогресс в одобренной Sun Java с открытым исходным кодом» . Спрашивающий. 31 марта 2006 г. Архивировано из оригинала 3 декабря 2009 года . Проверено 2 декабря 2012 г. {{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  2. ^ «Сеть O'Reilly побеждает в тряске; платформа SNAP трясется» . Onlamp.com. Архивировано из оригинала 3 марта 2016 г. Проверено 2 декабря 2012 г.
  3. ^ «Варвары у ворот | SYS-CON.TV» . TV.sys-con.com. 22 сентября 2006 г. Проверено 2 декабря 2012 г.
  4. ^ Ганьон, Этьен М. и Лори Дж. Хендрен. «SableVM: исследовательская среда для эффективного выполнения байт-кода Java». Материалы симпозиума по исследованиям и технологиям виртуальных машин Java. Том. 1. 2001.
  5. ^ Прокопски, Грегори Б., Этьен М. Ганьон и Кристиан Арканд. Платформа тестирования байт-кода для механизма копирования кода SableVM. Технический отчет SABLETR-2007-9, Исследовательская группа Sable, Школа компьютерных наук, Университет Макгилла, Монреаль, Квебек, Канада, 2007 г.
  6. ^ Энг, Дэвид. «JIL: расширяемый промежуточный язык». Исследовательская группа Сейбла, Университет Макгилла (2002 г.).
  7. ^ Энг, Дэвид. Объединение статических и динамических данных при визуализации кода. Том. 28. № 1. АКМ, 2002.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9b83354169132baa00b45e2b40a16dca__1679799120
URL1:https://arc.ask3.ru/arc/aa/9b/ca/9b83354169132baa00b45e2b40a16dca.html
Заголовок, (Title) документа по адресу, URL1:
SableVM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)