русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основные версии и продукты Java


Дата добавления: 2015-06-12; просмотров: 985; Нарушение авторских прав


Сразу оговоримся, что под продуктами здесь понимаются программ­ные решения от компании Sun, являющиеся "образцами реализации" (reference implementation).

Итак, впервые Java была объявлена 23 мая 1995 года. Основными продуктами, доступными на тот момент в виде бета-версий, были:

• Java language specification, JLS, спецификация языка Java (описы­вающая лексику, типы данных, основные конструкции и т.д.);

• спецификация JVM;

• Java Development Kit, JDK — средство разработчика, состоящее в основном из утилит, стандартных библиотек классов и демонст­рационных примеров.

Спецификация языка была составлена настолько удачно, что прак­тически без изменений используется и по сей день. Конечно, было внесе­но большое количество уточнений, более подробных описаний, были добавлены и некоторые новые возможности (например, объявление внут­ренних классов), однако основные концепции остаются неизменными. Данный курс в большой степени опирается именно на спецификацию

языка.

Спецификация JVM предназначена в первую очередь для создателей виртуальных машин, а потому практически не используется Java-про­граммистами.

JDK долгое время было базовым средством разработки приложений. Оно не содержит никаких текстовых редакторов, а оперирует только уже существующими java-файлами. Компилятор представлен утилитой javac (Java compiler) . Виртуальная машина реализована программой Java. Для тестовых запусков апплетов существует специальная утилита appletviewer. Наконец, для автоматической генерации документации на основе исход­ного кода прилагается средство javadoc.

Первая версия содержала всего 8 стандартных библиотек:

• java.lang базовые классы, необходимые для работы любого приложения (название — сокращение от language);

• java.util — многие полезные вспомогательные классы;



• Java.applet — классы для создания апплетов;

• java.awt, Java.awt.peer - библиотека для создания графического интерфейса пользователя (GUI), называется Abstract Window Toolkit, AWT, подробно описывается в лекции 11;

• java.awt-image — дополнительные классы для работы с изображениями;

• java.io - работа с потоками данных (streams) и с файлами;

• java.net работа с сетью.

Таким образом, все библиотеки начинаются с Java, именно они явля­ются стандартными. Все остальные (начинающиеся с com, org и др.) мо­гут меняться в любой версии без поддержки совместимости. Финальная версия JDK 1.0 была выпущена в январе 1996 года.

Сразу поясним систему именования версий. Обозначение версии состоит из трех цифр. Первой пока всегда стоит 1. Это означает, что под­держивается полная совместимость между всеми версиями 1.х.х. То есть программа, написанная на более старом JDK, всегда успешно выполнится на более новом. По возможности соблюдается и обратная совместимость — если программа откомпилирована более новым JDK, а никакие новые библиотеки не использовались, то в большинстве случаев старые вирту­альные машины смогут выполнить такой код.

Вторая цифра изменилась от 0 до 4 (последняя на данный момент). В каждой версии происходило существенное расширение стандартных библиотек (212, 504, 1781, 2130 и 2738 количество классов и интерфей­сов с 1.0 по 1.4), а также добавлялись некоторые новые возможности в сам язык. Менялись и утилиты, входящие в JDK.

Наконец, третья цифра означает развитие одной версии. В языке или библиотеках ничего не меняется, лишь устраняются ошибки, произ­водится оптимизация, могут меняться (добавляться) аргументы утилит. Так, последняя версия JDK 1,0 - 1.0.2.

Хотя с развитием версии 1.x ничего не удаляется, конечно, какие-то функции или классы устаревают. Они объявляются deprecated, и хотя они будут поддерживаться до объявления 2,0 (а про нее пока ничего не было слышно), пользоваться ими не рекомендуется.

Вместе с первым успехом JDK 1.0 подоспела и критика. Основные недостатки, обнаруженные разработчиками, были следующими. Во-первых, конечно, производительность. Первая виртуальная машина ра­ботала очень медленно. Это связано с тем, что JVM, по сути, представ­ляет собой интерпретатор, который работает всегда медленнее, чем ис­полняется откомпилированный код. Однако успешная оптимизация, устранившая этот недостаток, была еще впереди. Также отмечались до­вольно бедные возможности AWT, отсутствие работы с базами данных и другие.

В декабре 1996 года объявляется новая версия JDK 1.1, сразу выкла­дывается для свободного доступа бета-версия. В феврале 1997 года выходит финальная версия. Что было добавлено в новом выпуске Java?

Конечно, особое внимание было уделено производительности. Многие части виртуальной машины были оптимизированы и переписаны с использованием Assembler, а не С, как до этого. Кроме того, с октября 1996 года Sun развивает новый продукт — Just-In-Time компилятор, ЛТ. Его задача — транслировать Java байт-код программы в ''родной" код опе­рационной системы. Таким образом, время запуска программы увеличи­вается, но зато выполнение может ускоряться в некоторых случаях до 50 раз! С июля 1997 года появляется реализация под Windows и ЛТ стандарт­но входит в JDK с возможностью отключения.

Были добавлены многие новые важные возможности. JavaBeans — технология, объявленная еще в 1996 году, позволяет создавать визуальные компоненты, которые легко интегрируются в визуальные средства разра­ботки. JDBC (Java Database Connectivity) обеспечивает доступ к базам данных. RM1 (Remote Method Invocation) позволяет легко создавать рас­пределенные приложения. Были усовершенствованы поддержка нацио­нальных языков и система безопасности.

За первые три недели JDK 1.1 был скачан более 220.000 раз, менее чем через год — более двух миллионов раз. На данный момент версия 1.1 считается полностью устаревшей, и ее развитие остановилось на 1.1.8. Од­нако из-за того, что самый распространенный браузер MS IE до сих пор поддерживает только эту версию, она продолжает использоваться для на­писания небольших апплетов.

Кроме того, с 11 марта 1997 года компания Sun начала предлагать Java Runtime Environment, JRE (среду выполнения Java). По сути дела, это минимальная реализация виртуальной машины, необходимая для испол­нения Java-приложений, без компилятора и других средств разработки. Если пользователь хочет только запускать программы, это именно то, что ему нужно.

Как видно, самым главным недостатком осталась слабая поддержка графического интерфейса пользователя (GUI). В декабре 1996 года ком­пании Sun и Netscape объявляют новую библиотеку 1FC (Internet Foundation Classes), разработанную Netscape полностью на Java и пред­назначенную как раз для создания сложного оконного интерфейса. В ап­реле 1997 года объявляется, что компании планируют объединить техно­логии AWT от Sun и IPC от Netscape для создания нового продукта Java Foundation Classes, JFC, в который должны войти:

• усовершенствованный оконный интерфейс, который получил особое название — Swing;

• реализация Drag-and-Drop;

• поддержка 2D-гpaфики, более удобная работа с изображениями;

•Accessibility API для пользователей с ограниченными возможностями
и другие функции. Компания IBM также поддержала разработку новой
технологии. В июле 1997 года стала доступна первая версия JFC. Перво­начально библиотеки назывались, например, com.sunjava.swing для компонентов Swing- В марте 1998 года вышла финальная версия этой технологии. За полгода продукт был скачан более 500.000 раз.

Выход следующей версии Java L2 много раз откладывался, но в ито­ге она настолько превзошла предыдущую 1.1, что ее и все последующие версии начали называть платформой Java 2 (хотя номера, конечно, по-прежнему отсчитывались как l.x.x, см. выше описание правил нумера­ции). Первая бета-версия стала доступной в декабре 1997 года, а финаль­ная версия была выпущена 8 декабря 1998 года, и за первые восемь меся­цев ее скачали более миллиона раз.

Список появившихся возможностей очень широк, поэтому перечис­лим наиболее значимые из них:

• существенно переработанная модель безопасности, введены по­нятия политики (policy) и разрешения (permission);

• JFC стал стандартной частью JDK, причем библиотеки стали называться, например, javax.swing для Swing (название javax указывает, что до этого библиотека считалась расширением Java);

• полностью переработанная библиотека коллекций (collection framework) — классов для хранения набора объектов;

• Java Plug-in был включен в JDK;

•улучшения в производительности, глобализации (независимости
от особенностей разных платформ и стран), защита от "проблемы«2000".

С февраля 1999 года исходный код самой JVM был открыт для бес­платного доступа всем желающим.

Самое же существенное изменение произошло 15 июня 1999 года, спустя полгода после выхода JDK 1.2. На конференции разработчиков JavaOne компания Sun объявила о разделении развития платформы Java 2 на три направления:

• Java 2 Platform, Standard Edition (J2SE);

• Java 2 Platform, Enterprise Edition (J2EE);

• Java 2 Platform, Micro Edition (J2ME).

Ha самом деле, подобная классификация уже давно назрела, в част­ности, различных спецификаций и библиотек насчитывалось несколько десятков, а потому они нуждались в четкой структуризации. Кроме того, такое разделение облегчало развитие и продвижение на рынок техноло­гии Java.

J2SE предназначается для использования на рабочих станциях и персональных компьютерах. Standard Edition — основа технологии Java и прямое развитие JDK (средство разработчика было переименовано в j2sdk).

J2EE содержит все необходимое для создания сложных, высокона­дежных, распределенных серверных приложений. Условно можно ска­зать, что Enterprise Edition — это набор мощных библиотек (например, Enterprise Java Beans, EJB) и пример реализации платформы (сервера при­ложений, Application Server), которая их поддерживает. Работа такой платформы всегда опирается на j2sdk.

J2ME является усечением Standard Edition, чтобы удовлетворять жестким аппаратным требованиям небольших устройств, таких как кар­манные компьютеры и сотовые телефоны.

Далее развитие этих технологий происходит разными темпами. Если J2SE уже была доступна более полугода, то финальная версия J2EE вышла, лишь в декабре 1999 года. Последняя версия j2sdk1.2 на данный момент — 1.2.2.

Тем временем борьба за производительность продолжалась, и Sun пьтался еще больше оптимизировать виртуальную машину. В марте 1999 г<>да объявляется новый продукт — высокоскоростная платформа (engine) Java HotSpot. Была оптимизирована работа с потоками исполнения, су­щественно переработаны алгоритмы автоматического сборщика мусора (garbagecollector) и многое другое. Ускорение действительно было очень существенным, всегда заметное невооруженным взглядом за несколько минут работы с Java-приложением.

Новая платформа может работать в двух режимах — клиентском и серверном. Режимы различались настройками и другими оптими­зирующими алгоритмами. По умолчанию работа идет в клиентском режиме.

Развитие HotSpot продолжалось более года, пока в начале мая 2000 года высокопроизводительная JYM не вошла в состав новой версии J2SE. В эту версию было внесено еще множество улучшений и исправлений, но именно прогресс в скорости работы стал ключевым изменением нового j2sdk 1.3 (последняя версия 1.3.1).

Наконец, последняя на данный момент версия J2SE 1.4 вышла в фе­врале 2002 года. Она была разработана для более полной поддержки web-сервисов (web services). Поэтому основные изменения коснулись работы с XML (Extensible MarkupLanguage). Другое революционное добавление — выражение assert, позволяющее в отладочном режиме проверять вер­ность условий, что должно серьезно упростить разработку сложных при­ложений. Наконец, были добавлены классы для работы с регулярными выражениями.

Рис.1.1. Составляющие технологии версии 1.3.


За первые пять месяцев j2sdk 1.4 было скачано более двух миллионов раз. В августе 2002 года уже была предложена версия 1.4.1, остающаяся на данный момент самой современной.

В заключение для демонстрации уровня развития Standard Edition приведем стандартные диаграммы, описывающие все составляющие тех­нологии, из документации к версиям 1.3 и 1.4.

Вопросы для самоконтроля:

  1. Что такое Java?
  2. История создания Java.
  3. Сложности внутри Sun Microsystems.
  4. Проект Green.
  5. Компания FirstPerson.
  6. World Wide Web.
  7. Возрождение Oak.
  8. Java выходит в свет.
  9. История развития Java.
  10. Браузеры.
  11. Сетевые компьютеры.
  12. Платформа Java.
  13. Основные версии и продукты Java.

Рекомендуемая литература:

  1. Нотон П.JAVA:Справ.руководство:Пер.с англ./Под ред.А.Тихонова.-М.:БИНОМ:Восточ.Кн.Компания,1996:Восточ.Кн.Компания.-447с..-(Club Computer)
  2. Патрик Нотон, Герберт Шилдт Полный справочник по Java.- McGraw-Hill,1997, Издательство "Диалектика",1997
  3. Дэвид Флэнэген Java in a Nutshell.- O'Reilly & Associates, Inc., 1997, Издательская группа BHV, Киев, 1998
  4. Ренеган Э.Дж.(мл.)1001 адрес WEB для программистов:Новейший путеводитель программиста по ресурсам World Wide Web:Пер.с англ..-Минск:Попурри,1997.-512с.ил.
  5. Сокольский М.В.Все об Intranet и Internet.-М.:Элиот,1998.-254с.ил.
  6. Чен М.С. и др.Программирование на JAVA:1001 совет:Наиболее полное руководство по Java и Visual J++:Пер.с англ./Чен М.С.,Грифис С.В.,Изи Э.Ф..-Минск:Попурри,1997.-640с.ил.+ Прил.(1диск.)
  7. Майкл Эферган Java: справочник.- QUE Corporation, 1997, Издательство "Питер Ком", 1998



<== предыдущая лекция | следующая лекция ==>
Платформа Java | Методология процедурно-ориентированного программирования.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.663 сек.