Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Ява работает везде одинаково

div.main {margin-left: 20pt; margin-right: 20pt}Ява работает везде одинаково


"Создаешь один раз - используешь где угодно". ("Write once - run
anywhere"). Вторая часть лозунга создателей Явы содержит утверждение, что
Ява-программа работает везде одинаково. К сожалению, в действительности все не
так просто. Ява-машины различных компаний на различных платформах НЕ 100%
совместимы друг с другом. Да, отличия эти можно считать мелочами, но в
информационной индустрии и мелочи важны. Конкретный пример. Установите версию 2
Ява-платформы от Sun под Windows NT и запустите тест, который интенсивно
выделяет участок памяти и тут же теряет на него указатель. Это означает, что в
динамической памяти Ява-машины появляется "мусор", который должен вычищаться
"сборщиком мусора" (garbage collector). "Сборщик мусора" - это процесс, который
выполняется параллельно основной программе с низким приоритетом. Если указанная
выше программа выделяет память достаточно быстро, через некоторое время она
"вылетит" с исключением "Нехватка памяти". Заметим, что свободной памяти сколько
угодно - она просто "забита мусором". Если использовать последнюю версию
Ява-машины от IBM (версия 1.3), то подобного не произойдет - система "насильно"
вызовет сборщик мусора, если увидит, что для нового объекта не хватает места.
Отличия в работе Ява-машин на разных платформах существуют и в реализации
мультизадачности, и в работе оконной библиотеки (AWT). Сложные Ява-программы
необходимо "прогонять" на разных платформах, чтобы убедиться, что все в порядке.
Вообще говоря, даже и на одной платформе выполнение Ява-программ может быть
разным для разных машин. Например, программист может столкнуться с ситуацией,
когда его программа на многопроцессорной машине ведет себя иначе, чем на
однопроцессорной.


Ява-машина, созданная компанией Microsoft (далее MS JVM), вообще
говоря, носит название Ява не совсем законно. Концепция Явы - "работает везде"
здесь нарушается "на каждом шагу". В настоящее время, иск Sun к Microsoft
наконец-то был удовлетворен и лицензия на платформу Ява у Microsoft отозвана.
Однако, программные продукты-то остались. В MS JVM Вы не увидите поддержки
технологий RMI или CORBA, зато здесь можно использовать объекты ActiveX -
технологию, специфичную только для платформы Windows и не более нигде не
существующую. Вообще говоря, Microsoft просто расширила стандартную библиотеку
классов типами, которые отражает некоторые особенности работы платформы Windows.
Это очень важно, поскольку MS JVM широко распространена на платформе Windows, и
входит в популярный браузер Internet Explorer. Заметим также, что ранние версии
MS JVM, вообще говоря, содержат и просто ошибки в реализации, к примеру, дат или
в обработке событий и очень часто можно столкнуться с тем, что в старых версий
браузера Ваш Ява-апллет "не работает", а в новых - все в порядке.



Владислав Кравченко, href="mailto:grigorenko@mail.ru">Григорий Григоренко


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте