Юпитер JVM - Jupiter JVM

Юпитер JVM
Окончательный релиз
1.0.0 бета / 15 июля 2002 г. (2002-07-15)
ТипВиртуальная машина Java
ЛицензияGPL
Интернет сайтwww.eecg.Торонто.edu/Юпитер

Юпитер JVM является Открытый исходный код Виртуальная машина Java, который был разработан как магистерская диссертация с учетом модульности и расширяемости. Оно использует Сборщик мусора Boehm и Путь к классам GNU. Основные аспекты дизайна виртуальной машины Юпитера можно упростить следующим образом:

  • Местоположение памяти - Объекты размещаются в куче практически без учета местоположения. Хотя этот подход может быть подходящим для однопроцессорных или небольших SMP, он вряд ли будет хорошо работать в кластере рабочих станций, где удаленный доступ к памяти на один или два порядка медленнее, чем доступ к локальной памяти.
  • Параллельная сборка мусора - Сборка мусора может занять значительное время приложения. Обычно JVM используют сборщики мусора «остановить мир», когда программные потоки останавливаются во время сборки мусора. Этот подход не будет работать для большого количества процессоров по двум причинам. Во-первых, стоимость «остановки мира» значительно выше при большом количестве процессоров. Во-вторых, использование одного потока для сбора мусора приводит к недопустимо большой последовательной доле для любого приложения.
  • Модель согласованности памяти - Для достижения производительности масштабирования на многих процессорах важно использовать "расслабленный" Модель памяти Java. В настоящее время ни одна JVM не реализует JMM точно, и действительно многие реализуют ее неправильно, что ведет к отсутствию согласованности и потере возможностей оптимизации. Спецификация JMM также была пересмотрена в 2007 году.
  • Эффективный потоки и синхронизация - Для многих процессоров критически важно обеспечить эффективную поддержку потоков и механизмы синхронизации, которые хорошо масштабируются.

Смотрите также

внешняя ссылка