Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Это связано с тем, что 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 объявляют новую библиотеку IFC (Internet Foundation Classes), разработанную Netscape полностью на Java и предназначенную как раз для создания сложного оконного интерфейса. В апреле 1997 года объявляется, что компании планируют объединить технологии AWT от Sun и IFC от Netscape для создания нового продукта Java Foundation Classes, JFC, в который должны войти:
• усовершенствованный оконный интерфейс, который получил особое название - Swing;
• реализация Drag-and-Drop;
• поддержка 20-графики, более удобная работа с изображениями;
• Accessibility API для пользователей с ограниченными возможностями и другие функции. Компания IBM также поддержала разработку новой технологии. В июле 1997 года стала доступна первая версия JFC. Первоначально библиотеки назывались, например, com.sun.java.swing для компонентов Swing. В марте 1998 года вышла финальная версия этой технологии. За полгода продукт был скачан более 500.000 раз.
Выход следующей версии Java 1.2 много раз откладывался, но в итоге она настолько превзошла предыдущую 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).
На самом деле, подобная классификация уже давно назрела, в частности, различных спецификаций и библиотек насчитывалось несколько десятков, а потому они нуждались в четкой структуризации. Кроме того, такое разделение облегчало развитие и продвижение на рынок технологии Java.
J2SE предназначается для использования на рабочих станциях и персональных компьютерах. Standard Edition - основа технологии Java и прямое развитие JDK (средство разработчика было переименовано в j2sdk).
J2EE содержит все необходимое для создания сложных, высоконадежных, распределенных серверных приложений. Условно можно сказать, что Enterprise Edition - это набор мощных библиотек (например, Enterprise Java Beans, EJB) и пример реализации платформы (сервера приложений, Application Server), которая их поддерживает. Работа такой платформы всегда опирается на j2sdk.
J2ME является усечением Standard Edition, чтобы удовлетворять жестким аппаратным требованиям небольших устройств, таких как карманные компьютеры и сотовые телефоны.
Далее развитие этих технологий происходит разными темпами. Если J2SE уже была доступна более полугода, то финальная версия J2EE вышла лишь в декабре 1999 года. Последняя версия j2sdk 1.2 на данный момент -1.2.2.
Тем временем борьба за производительность продолжалась, и Sun пытался еще больше оптимизировать виртуальную машину. В марте 1999 года объявляется новый продукт - высокоскоростная платформа (engine) ava HotSpot. Была оптимизирована работа с потоками исполнения, существенно переработаны алгоритмы автоматического сборщика мусора (garbage collector) и многое другое. Ускорение действительно было очень существенным, всегда заметное невооруженным взглядом за несколько МИнУт Работы с Java-приложением.
Развитие HotSpot продолжалось более года, пока в начале мая 2000 года высокопроизводительная JVM не вошла в состав новой версии J2SE. В эту версию было внесено еще множество улучшений и исправлений, но именно прогресс в скорости работы стал ключевым изменением нового j2sdk 1.3 (последняя подверсия 1.3.1).
Наконец, последняя на данный момент версия J2SE 1.4 вышла в феврале 2002 года. Она была разработана для более полной поддержки web-сервисов (web services). Поэтому основные изменения коснулись работы с XML (Extensible Markup Language). Другое революционное добавление - выражение assert, позволяющее в отладочном режиме проверять верность условий, что должно серьезно упростить разработку сложных приложений. Наконец, были добавлены классы для работы с регулярными выражениями.
За первые пять месяцев j2sdk 1.4 было скачано более двух миллионов раз. В августе 2002 года уже была предложена версия 1.4.1, остающаяся на данный момент самой современной.
В заключение для демонстрации уровня развития Standard Edition приведем стандартные диаграммы, описывающие все составляющие технологии, из документации к версиям 1.3 и 1.4.
Заключение
В этой лекции мы рассказали о том, какая непростая ситуация сложилась в корпорации Sun в эпоху развития персональных компьютеров в конце 1990 года. Патрик Нотой в своем письме сумел выявить истинные Причины такого положения и обозначить истинные цели для создания успешного продукта. Благодаря этому при поддержке Джеймса Гослинга начался проект Green. Одним из продуктов, созданных в рамках этого
Проекта, стала совершенно новая платформа Oak. Для ее продвижения л*
Sun учредила дочернюю компанию FirstPerson, но настоящий успех пришел, когда платформу, переименовав в Java, сориентировали на применение в Internet.
Глобальная сеть появилась в апреле 1993 года с выходом первого браузера Mosaic 1.0 и завоевывала пользовательскую аудиторию с поразительной скоростью. Первым примером Java-приложений стали апплеты, запускаемые при помощи специально созданного браузера HotJava. Наконец, после почти четырехлетней истории создания и развития, Java была официально представлена миру. Благодаря подписанию лицензионного соглашения с Netscape, это событие стало поистине триумфальным.
Были рассмотрены различные варианты применения Java. Отдельно был описан язык Java Script, который, несмотря на сходство в названии, имеет не так много общего с Java. Подробно рассмотрены отличительные особенности Java. Описаны базовые продукты от Sun: JDK и JRE. Кратко освещена история развития версий платформы Java, включая добавляемые технологии и продукты.
Вариант 1
1. Какими из перечисленных свойств обладает платформа Java?
□ кросс-платформенность
□ повышенная надежность Java-программ относительно других языков
□ объектная модель, построенная на основе объектной модели С++
2. Является язык Java компилируемым или интерпретируемым?
□ компилируемым
□ интерпретируемым
□ используются оба подхода
3. Какие версии Java называются Java 2?
□ 1.2,1.2.x П 1.2 и выше П с 2.0 и выше
Вариант 2
Вариант 3
1. Java является языком программирования или платформой?
□ языком программирования, так как на Java пишут программы
□ платформой, так как в стандарт Java входит множество библиотек для работы с базами данных, XML и т.д.
□ платформой, так как Java-программы исполняются на основе универсальной виртуальной машины JVM, а потому не должны учитывать особенностей аппаратной платформы или ОС
2. Автоматический сборщик мусора (garbage collector) в Java - это механизм, который:
□ удаляет объекты, когда заканчивается доступная оперативная память
□ удаляет объекты, когда не остается ни одной ссылки на них Q удаляет объекты, которые давно не используются
3. Какие из перечисленных свойств являются общими для программ, написанных на С++ и Java?
|~l компилируемые
□ интерпретируемые
П имеют схожий синтаксис
Г~| имеют схожие объектные модели
1. На какие направления была разделена Java в середине 1999 года вскоре после выхода Java 2?
□ JDK для разработки, и JRE для запуска программ
□ Java 2 Standard Edition (платформа для разработки приложений для персональных компьютеров), Java 2 Enterprise Edition (независимая платформа для разработки серверных приложений), Java 2 Micro Edition (независимая платформа для разработки приложений для мобильных и других устройств
с ограниченными аппаратными ресурсами)
□ J2SE - общая платформа для Java-приложений, J2EE - набор библиотек для создания серверных приложений, J2ME - набор библиотек для создания приложений для мобильных устройств
2. Какая версия Java поддерживается большинством браузеров в Internet?
□ 1.0
Q 1 • 1, после установки специального продукта Java Plug-in
П 1 ■ 1, возможна любая версия после установки специального продукта Java Plug-in
3. Что означает выражение deprecateci?
П используемые функции устарели, но поддерживаются в целях совместимости
П используемые функции поддерживаются, но работают неэффективно
П используемые функции не поддерживаются