*** Краткая Java-терминология • Виртуальная машина (virtual machine) – абстрактное вычислительное устройство, которое может быть реализовано разными способами: аппаратно или программно. Компиляция в набор команд виртуальной машины происходит почти так же, как и компиляция в набор команд микропроцессора.
• Java-платформа (Java Platform) – виртуальная машина Java и стандартные классы составляют Java-платформу. Java-платформа предоставляет программам унифицированный интерфейс независимо от операционной системы, на которой они работают.
• Java Remote Method Invocation (JRMI) – интерфейс вызова удаленных методов. Распределенная объектная модель, определяющая, каким образом производится вызов удаленных методов, работающих на другой виртуальной машине Java.
• Java Runtime Environment (JRE) – среда исполнения Java. Подмножество Java Development Kit, предназначенное для конечных пользователей. JRE состоит из виртуальной машины Java (JVM), стандартных классов Java и вспомогательных файлов.
• Java Virtual Machine (JVM) – виртуальная машина Java, часть среды исполнения Java, выполняющая интерпретацию Java байт-кода. Java Virtual Machine специфицируется набором команд байт-кода, набором регистров, стеком, сборщиком мусора и пространством хранения методов.
• Java байт-код (Java bytecode) – машинно-независимый код, который генерирует Java-компилятор. Байт-код выполняется Java-интерпретатором. Виртуальная машина Java полностью стековая: не требуется сложная адресация ячеек памяти и большое количество регистров. Поэтому команды JVM короткие, большинство из них имеет длину 1 байт, отчего команды JVM называют байт-кодами (bytecodes), хотя имеются команды длиной 2 и 3 байта (средняя длина команды составляет 1,8 байта). Программа, написанная на языке Java, переводится компилятором в байт-код. Байт-код записывается в одном или нескольких файлах, может храниться во внешней памяти или передаваться по сети. Это особенно удобно благодаря небольшому размеру файлов с байт-кодом. Полученный в результате компиляции байт-код можно выполнять на любом компьютере, имеющем систему, реализующую JVM (в не зависимости от типа какого-либо конкретного процессора и архитектуры ПК). Так реализуется принцип Java: «Write once, run anywhere» – «Написано однажды, выполняется где угодно».
• Java-апплеты (Java applets) – Java-приложения, доступ к которым можно получить из веб-браузера.
*** Что такое технология Java Технология Java была создана как инструмент программирования в компании Sun Microsystems в 1991 г. в рамках небольшого закрытого исследовательского проекта, получившего кодовое название «Green» («Зелёный проект»). «Зеленая команда» из 13 инженеров и разработчиков под руководством Джеймса Гослинга (James Gosling) в течение полутора лет работала сутками напролет в отдельном офисе на Sand Hill Road в г. Менло Парк (Калифорния; опять Силиконовая долина!), не информируя о своей работе компанию Sun. Инженеры «Зеленой команды» старались предвосхитить грядущую «новую волну» в программировании и подготовиться к ней. Первоначально они исходили из предположения, что одной из основных тенденций развития будет сближение между цифровой потребительской техникой и компьютерами. Результатом этой работы стал машинно-независимый язык программирования, получивший кодовое название «Oak» (Дуб). Чтобы продемонстрировать, как новый язык программирования может в будущем использоваться в цифровой технике, «Зеленая команда» создала домашний портативный интерактивный контроллер для цифрового кабельного телевидения. Но тогда эта идея была слишком новаторской, и цифровое кабельное телевидение не было готово к тому резкому прорыву, который предлагала технология Java. Однако новаторство технологии Java оказалось востребованным для Интернета, и на первой официальной презентации технологии Java в 1995 г. команда Гослинга смогла объявить, что технология Java будет использована в интернет-обозревателе Netscape Navigator. Ныне платформу Java используют более 4 млн. разработчиков программного обеспечения. Она используется во всех основных сферах деятельности по всему миру и применяется в самых различных устройствах, компьютерах и сетях во всех технологиях программирования.
В целом универсальность, эффективность, безопасность и совместимость с разными платформами делают технологию Java идеальным инструментом для сетевых технологий. Поэтому сегодня она используется более чем в 2,5 млрд. устройств, среди которых: • более 700 млн. ПК; • более 1 млрд. мобильных телефонов и других портативных устройств; • 1,25 млрд. смарт-карт; • а также телеприставки, принтеры, веб-камеры, игры, автомобильные системы навигации, игровые автоматы, медицинское оборудование, парковочные автоматы и т. д. В настоящее время технологию Java можно встретить практически в любых сетях и устройствах – от Интернета и суперкомпьютеров до портативных компьютеров и мобильных телефонов, от устройств моделирования биржевых торгов до домашних игровых приставок и кредитных карт.
*** Почему разработчики программного обеспечения выбирают технологию Java Язык программирования Java всесторонне дорабатывали, расширяли, тестировали и проверяли на практике более 4 млн. разработчиков программного обеспечения. Законченная, чрезвычайно надёжная и универсальная технология Java неоценима для разработчиков программного обеспечения тем, что она позволяет им: • писать программное обеспечение на одной платформе и запускать его практически на любой другой; • создавать программы для работы в веб-обозревателях и веб-службах; • разрабатывать серверные приложения для интернет-форумов, магазинов, опросов, обработки HTML-форм и др.; • создавать максимально приспособленные для требований пользователя приложения и службы, комбинируя различные Java-модули; • писать мощные и эффективные приложения для мобильных телефонов, удаленных процессоров, недорогих потребительских товаров и практически для любых цифровых устройств.
*** Что представляет собой технология Mobile Java (J2ME – Java 2 Micro Edition) В состав J2ME входит оптимизированная для широкого круга пользователей мобильных устройств версия JRE. Основными компонентами компактной версии платформы Java 2 (J2ME) являются виртуальная машина для устройств со стандартными конфигурациями (CDC), виртуальная машина для устройств с ограниченными конфигурациями (CDLC) и профили мобильных устройств с информационными функциями. Кроме того, в состав этой платформы входит множество других инструментальных средств и технологий, упрощающих создание программ Java для бытовых и встроенных устройств (мобильные телефоны, карманные компьютеры, смарт-карты, пейджеры, телеприставки и другие мобильные и беспроводные устройства). Технологии J2ME, в свою очередь, входят в состав семейства программных продуктов Java. Среди родственных технологий – стандартная (J2SE) и корпоративная (J2EE) версии платформы Java 2. Помимо прочего, технология Java помогает разрабатывать веб-службы, организовывать и передавать данные на языке XML, устанавливать соединения по различным сетевым протоколам, работать с инструментальными пакетами и реализовывать функции приложения Java Web Start. Со стандартной версией исполнительной среды Sun Java (JRE) версию J2ME роднит соблюдение стандартных соглашений для платформ Java и участие в разработке ведущих производителей мобильных устройств и поставщиков услуг беспроводной связи.
*** Что такое KVM KVM (Kilo Virtual Machine) – это элемент исполнительной среды, входящий в состав компактной версии платформы Java 2 (J2ME) и предназначенный для применения в устройствах с ограниченной емкостью памяти и производительностью процессора. Стандартные вычислительные функции в мобильных телефонах, пейджерах и карманных компьютерах (PDA) часто реализуются именно при помощи KVM. Подобно JVM (виртуальной машине Java), KVM исполняет приложения и апплеты на основе технологии Java. KVM применяется в сотовых телефонах и других мобильных устройствах, в то время как JVM устанавливается в компьютерах. В состав стандартной версии платформы Java 2 (J2SE) входят JRE, Java Plug-in и JVM.
Помимо KVM, платформа J2ME содержит множество виртуальных машин различных масштабов. KVM – это один из вариантов реализации виртуальной машины для устройств с ограниченной конфигурацией (Connected Limited Device Configurations, CDLC), предназначенный для исполнения программных продуктов на основе технологии Java в мобильных устройствах. Родственной технологией J2ME являются профили мобильных устройств с информационными функциями (Mobile Information Device Profiles, MIDP), которые чаще всего применяются при разработке приложений для мобильных устройств – в частности, для мобильных телефонов и двухсторонних пейджеров.
*** Как получить программное обеспечение Java для мобильных устройств/КПК? Функции Java, предназначенные для мобильных устройств, устанавливаются в этих устройствах их производителями. Узнайте у производителя, установлено ли в вашем устройстве программное обеспечение Java. Виртуальная машина KVM является аналогом виртуальной машины Java (JVM), предназначенным для мобильных устройств. Она обеспечивает исполнение апплетов и приложений, написанных на языке Java, в мобильных устройствах. Виртуальная машина KVM должна быть установлена производителем. Её НЕЛЬЗЯ загрузить и установить самостоятельно.
*** Что такое Java Virtual Machine Java Virtual Machine (сокращенно Java VM, JVM) – виртуальная машина Java – основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java интерпретирует и исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java. В 1996 г. компания Sun выпустила первую версию документа «Голубая книга JVM», в котором описана спецификация виртуальной машины Java, ставшего де-факто отраслевым стандартом платформы Java. Благодаря этому документу появились альтернативные реализации JVM, являющиеся «разработками с чистого листа» (англ. clean room design). В качестве примера можно привести Kaffe. Начиная с версии J2SE 5.0 изменения в спецификации JVM вырабатываются в соответствии с формализованными пожеланиями заинтересованных сторон. Процесс внесения изменений в спецификации JVM называется Java Community Process.
*** Противостояние Sun и Microsoft В начале развития платформы Java существовали две конкурирующие реализации Java VM – одна от фирмы Sun Microsystems, создателя языка Java, для различных платформ (Windows, Mac OS, Unix), и другая – от фирмы Microsoft, ориентированная только на платформу Windows и, по утверждению Microsoft, «специально оптимизированная для быстрого выполнения Java-кода на платформе Microsoft Windows». Однако, Microsoft JVM была не полностью совместима со спецификацией, описанной Sun в Голубой книге JVM, а также имела существенные проблемы, связанные с безопасностью и с производительностью при работе под большими нагрузками (при большом числе одновременно выполняемых потоков). Компания Sun посчитала такую ситуацию недопустимой и решила, что Microsoft занимается намеренной дискредитацией и профанацией платформы Java путём распространения своей версии виртуальной машины Java, обладающей вышеперечисленными недостатками. На этом основании Sun неоднократно подавала в суд на Microsoft, и последовательно добилась сначала того, что Microsoft потеряла право называть свою реализацию JVM – Java VM. С этого момента Microsoft стала называть свой продукт просто Microsoft VM. Затем Microsoft потеряла право встраивать свою VM в браузеры и операционные системы. После этого Microsoft вынуждена была изъять свою VM из поставки Windows и из пакета IE, но могла, согласно решению суда, предлагать её отдельно для скачивания на своем сайте. Затем Sun добилась прекращения разработки новых версий Microsoft VM и прекращения выпуска обновлений к ней, а затем и исключения Microsoft VM из списка доступных для скачивания программ на сайте Microsoft. Некоторые IT-эксперты считают, что жёсткая позиция, занятая Sun по вопросу Java, могла послужить дополнительным стимулом для разработки компанией Microsoft собственного кросс-платформенного решения – .NET Framework.
*** О борьбе за соблюдение стандартов Вот что говорит по этому поводу «отец» Java Джеймс Гослинг: «Если говорить о соблюдении стандартов, то наш конфликт с Microsoft состоял в том, что эта компания попыталась ограничить интероперабельность своей виртуальной машины, тем самым нарушив достигнутое раннее соглашение. Код, оптимизированный под эту машину, не исполнялся на других платформах. Налицо попытка привязать пользователей к своей системе. Такие попытки всегда пресекались и будут пресекаться впредь. Однако если принцип интероперабельности соблюдается, то никаких препятствий нет. Например, у IBM по меньшей мере полдюжины виртуальных машин Java, есть свои разработки в этой области у HP и многих других компаний».
*** Противостояние Sun и IBM В 2001 г., с целью разработки стандарта кросс-платформенных desktop-приложений, IBM стартовала открытый проект Eclipse. Фреймворк Eclipse основан на закрытой разработке IBM VisualAge. IBM удалось сбалансировать интересы свободного сообщества и интересы бизнеса (свои интересы) в лицензии Eclipse Public License, признанной FSF. Проект успешно развивается, признан индустрией, в значительной степени отделился от IBM в самостоятельную Eclipse Foundation. Sun остается в оппозиции Eclipse Foundation, как и Microsoft. Формально основной причиной противоречий остается библиотека SWT, которая противоречит Sun-концепции виртуальной машины и переносимости джава-приложений.
*** Как проверить, какая версия Java установлена на вашем ПК Откройте страницу java.com/ru/download/installed.jsp; – нажмите кнопку Проверьте версию Java.
Как скачать и установить Java Virtual Machine – откройте страницу java.com/ru; – нажмите кнопку Скачать Java бесплатно; – если загрузка Java не начнется автоматически через несколько секунд, щелкните ссылку here to start the download (по этой ссылке, чтобы начать скачивание); – в окне Предупреждение о безопасности нажмите Да –> Continue –> Accept (если вы хотите изменить путь к установочной папке или изменить другие параметры, выберите Show Advanced Options Panel) –> Next –> Next –> в окне с сообщением Thank You! You have Successfully Installed Java нажмите Finish.
Как скачать Java вручную Чтобы скачать Java вручную, откройте страницу java.com/ru/download/manual.jsp; – выберите файл в соответствии с вашей операционной системой из списка, скачайте его и запустите установочный файл; – в окне Java Setup нажмите Continue –> Accept (если вы хотите изменить путь к установочной папке или изменить другие параметры, выберите Show Advanced Options Panel) –> Next –> Next –> в окне с сообщением Thank You! You have Successfully Installed Java нажмите Finish.
Примечания 1. После завершения установки Java может потребоваться перезапустить браузер. 2. Убедиться в правильности установки программного обеспечения Java можно, перейдя по ссылке Проверить немедленно. 3. В браузере должна быть включена поддержка JavaScript и cookies. 4. Стандартный размер скачивания составляет 7,1МБ (это минимальный объем скачиваемых файлов). Размер может увеличиться в случае выбора дополнительных функций. 5. Кроме Windows, вы можете скачать Java для Solaris, Linux. Для Apple (OS X) скачайте Java с сайта компании Apple. 6. Поддерживаются процессоры Intel и совместимые с ними процессоры других производителей. Рекомендуется к применению процессор Pentium с тактовой частотой 166МГц и выше в сочетании с физической оперативной памятью емкостью не менее 64МБ. Кроме того, вам понадобится как минимум 98МБ свободного дискового пространства. 7. После установки виртуальной машины Java от Sun Microsystems в Реестре Windows создается раздел [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_SUN]. После установки виртуальной машины Microsoft Java Virtual Machine в Реестре Windows создаются разделы [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VM] и [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_VM].
*** Где скачать Microsoft Java Virtual Machine В ОС Windows некоторые программы требуют при установке наличия в системе виртуальной машины Java от Microsoft. Microsoft VM (версия 5.00.3810 от 07.03.2003; 5,07МБ) можно скачать по ссылке.
*** Как удалить Microsoft Java Virtual Machine Чтобы удалить msjava: – нажмите Пуск –> Выполнить; – в открывшемся окне Запуск программы в текстовое поле Открыть введите RunDll32 advpack.dll,LaunchINFSection Java.inf,UnInstall –> OK; – удалите папку \WINDOWS\java; – удалите файл \WINDOWS\inf\java.pnf; – удалите файл \WINDOWS\system32\jview.exe; – удалите файл \WINDOWS\system32\wjview.exe; – нажмите Пуск –> Выполнить; – в открывшемся окне Запуск программы в текстовое поле Открыть введите regedit –> OK; – в открывшемся окне Редактор реестра удалите разделы [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VM] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\JAVA_VM]; – закройте Редактор реестра.
*** Как разрешить использование исполнительной среды Java (JRE) в веб-обозревателе Симптомы: апплеты не работают. Причина: использование исполнительной среды Java (JRE) не разрешено в веб-обозревателе. Если JRE уже установлена, а апплеты не работают, возможно, требуется подключить JRE через веб-обозреватель. Решение: • Internet Explorer 4.x и выше: – нажмите Пуск –> Настройка –> Панель управления –> Свойства обозревателя; – в открывшемся диалоговом окне Свойства: Интернет откройте вкладку Дополнительно, в прокручиваемом списке Параметры найдите опцию Java (Sun), установите флажок Use JRE 1.6.0_06 <for applet> (requires restart); – откройте вкладку Безопасность, нажмите кнопку Другой…; – в открывшемся окне Параметры безопасности в прокручиваемом списке Параметры найдите Сценарии –> Выполнять сценарии приложений Java –> установите переключатель Разрешить –> OK –> OK.
• Mozilla 1.x; Netscape 7.x: – в строке меню выберите Редактировать –> Параметры –> Дополнительно; – установите флажок Разрешить Java –> OK.
• Firefox 0.8 и выше: – запустите обозреватель Mozilla Firefox или перезапустите его, если он уже запущен; – выберите меню Сервис –> Свойства; – в диалоговом окне Свойства выберите Контент –> Разрешить Java.
• Opera 4.x и выше: – Opera для Windows использует не JRE компании Sun, а встроенную версию в веб-обозревателе Opera; – Opera для других платформ может поддерживать программное обеспечение Java с помощью JRE компании Sun. Подробнее см. документацию вашей платформы Opera.
*** Переключение между виртуальной машиной Microsoft и исполнительной средой Sun Java (JRE) Виртуальные машины Java – Sun и Microsoft – можно задействовать по очереди. Sun JVM можно включать и выключать, не удаляя её. Переключение между этими виртуальными машинами осуществляется во вкладке Advanced (Дополнительно) диалогового окна Internet Options (Свойства обозревателя) или в панели управления Java (рекомендуется проверить параметры в обоих окнах).
*** Переключение между виртуальными машинами Sun и Microsoft VM в окне Internet Options (Свойства обозревателя) – нажмите Start (Пуск) –> Settings (Настройки) –> Control Panel (Панель управления) –> Internet Options (Свойства обозревателя); – в открывшемся диалоговом окне Internet Options (Свойства: Интернет) откройте вкладку Advanced (Дополнительно), в прокручиваемом списке Параметры найдите опцию Java (Sun), установите или снимите флажок Use JRE 1.6.0_06 <for applet> (requires restart); – снимите или установите флажок Microsoft VM –> OK; – перезапустите обозреватель.
*** Переключение между виртуальными машинами Sun и Microsoft при помощи панели управления Java – нажмите Start (Пуск) –> Settings (Настройки) –> Control Panel (Панель управления) –> Java; – в открывшемся диалоговом окне Java Control Panel (Панель управления Java) откройте вкладку Advanced (Дополнительно); – в разделе Settings (Настройки) раскройте значок "+" рядом со строкой Default Java for browsers (Установки Java по умолчанию для обозревателя); – установите или снимите флажок напротив имени обозревателя, которому предполагается разрешить или запретить применение JVM –> OK; – перезапустите обозреватель.
Валерий Сидоров
*** • Дело о… • Apple = iСтив + iPod + iPhone + iPad + iTunes + iMac + … • Apps for iPad, iPhone, iPod touch…
|
18+
© 2016. All rights reserved.
Авторство всех материалов сайта https://netler.ru принадлежит Валерию Сидорову и охраняется Законом о защите авторских прав. Использование материалов сайта в offline-изданиях без согласования с автором категорически запрещается. В online-изданиях разрешается использовать материалы сайта при условии сохранения имени и фамилии автора и активной гиперссылки на сайт https://netler.ru.