Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
27.03.2015
Размер:
542.21 Кб
Скачать

Краткий экскурс в историю возникновения Java

1990 – 1992 проект фирмы Sun OAK (дуб)

1995

Java Development Kit (JDK) 1.0

1996

JDK 1.1.0 – 1.1.9

1997 – 1999 Software Development Kit (SDK)

 

Java2 – 4 (JDK 1.2 – 1.4)

2004

SDK Java5

2006

SDK Java6

2011 – 2012 SDK Java7 (Oracle)

Количественные характеристики роста

Версия

Количество классов и

Количество полей и

 

интерфейсов

методов

1.0

212

2125

1.1

504

5478

1.2

1781

20935

1.3

2130

23901

1.4

3020

32138

Семейства Java-технологий

Java SE — Java Standard Edition, основное издание Java, содержит компиляторы, API, Java Runtime Environment; подходит для создания пользовательских приложений, в первую очередь — для настольных систем.

Java EE — Java Enterprise Edition, представляет собой набор спецификаций для создания программного обеспечения уровня предприятия.

Java ME — Java Micro Edition, создана для использования в устройствах, ограниченных по вычислительной мощности, например в мобильных телефонах, КПК, встроенных системах;

JavaFX — технология предназначенная для создания графических веб-интерфейсов корпоративных приложений в бизнесе.

Java Card — технология, предоставляющая безопасную среду для приложений, работающих на смарт-картах и других устройствах с очень ограниченным объемом памяти и возможностями обработки.

JDK 1.0

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

Java language specification (JLS) – спецификация языка Java

(описывающая лексику, типы данных, основные конструкции и т.д.);

спецификация Java Virtual Machine (JVM) – для создателей виртуальных машин (сейчас известно больше 100 ВМ);

Java Development Kit (JDK) – набор средств разработчика, (утилиты, стандартные библиотеки классов и примеры).

8 стандартных библиотек:

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

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

java.applet - классы для создания апплетов;

java.awt, java.awt.peer - библиотека для создания графического

интерфейса пользователя, называется Abstract Window Toolkit;

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

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

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

JDK 1.1

Java Beans – программные компоненты

RMI – вызов удаленных методов (распределенные приложения)

JDBC – связь с базами данных

Сериализация – сохранение и восстановление объектов

JNI- взаимодействие с кодами, написанными на других языках

Reflection – определение методов, свойств объекта во время выполнения программы

Защита – цифровые подписи, генерация ключей, список управления доступом

Добавлены символьные потоки

Изменена обработка событий

Появились внутренние классы

SDK 1.2 – 1.4 (Java2 – Java4)

Библиотека Swing для создания графического интерфейса пользователя .

Реализованы Коллекции.

Добавлена поддержка файлов Policy и цифровых сертификатов пользователя.

Java 2D.

Поддержка технологии drag-and-drop.

Полная поддержка Unicode, включая поддержку ввода на японском, китайском и корейском языках.

Полная поддержка технологии CORBA.

JIT-компилятор, улучшенная производительность.

Усовершенствования инструментальных средств JDK, в том числе поддержка профилирования Java-программ.

Java5

Перечислимые типы. Ранее отсутствовавшие в Java типы, оформлены по аналогии с C++, но имеют ряд дополнительных возможностей.

Аннотации — возможность добавления в текст программы метаданных, не влияющих на выполнение кода, но допускающих использование для получения различных сведений о коде и его исполнении. Одно из применений аннотаций — упрощение создания тестовых модулей для Java-кода.

Средства обобщённого программирования (англ. generics) — механизм, аналогичный реализованному в языке Eiffel (позже также появились и в C#, принципиально отличаются от шаблонов C++), дающий возможность создавать классы и методы с полями и параметрами произвольного объектного типа.

Autoboxing/Unboxing — автоматическое преобразование между скалярными типами Java и соответствующими обертками (например, между int и Integer).

Разрешено создание методов с неопределённым числом параметров.

Разрешён импорт статических полей и методов.

В язык введён цикл по коллекции объектов (итератор, англ. foreach).

Введено использование Javadoc-комментариев, которые используются для автоматического оформления документации по комментариям специального вида в исходном коде.

Java6 – Java7

Изменения синтаксиса языка Java, предназначенные для упрощения общих задач программирования, в том числе:

использование переменных класса String в блоке switch;

использование двоичных чисел (binary literals) с префиксом «0b»;

поддержка подчеркиваний в длинных числовых литералах для улучшения читаемости (например: 23_400_000_000_000_008_407L);

упрощение вызова методов с переменным числом аргументов;

поддержка динамической типизации.

Автоматическое управление (освобождение) ресурсами, отличными от памяти (открытые файлы, …).

Поддержка эллиптической криптографии.

Строгая проверка (верификация) class-файлов.

Обновление классов-коллекций, реализация работы с ними на уровне языка.

Обновленная реализация графического пользовательского интерфейса.

Новые интерфейсы ввода-вывода (nio.2).

Состав JDK Java7

Первый пример приложения на Java

/**Здесь предполагается описание класса в целом.

*@version 1.0 01.09.2009

*@author Firstname Lastname

*/

public class HelloWorld {

/** Здесь описывается метод main

* @param args аргументы командной строки */

public static void main( String[] args ) { System.out.println( "Hello, World!" );

}

}

Соседние файлы в папке Презентации по Java