Java: современные технологии разработки ПО Вашенков О.Е. ООО «РСС», разработчик ПО
2 История Официальная дата создания: 23 мая 1995 (начало разработок – 1990) Разработчик: Джеймс Гослинг Платформа для бытовой электроники
3 Преимущества Java Независимость от платформы и оборудования Автоматическое управление памятью Безопасность (выполнение контролируется виртуальной машиной) Объектная ориентированность (включая простые типы данных и обработку ошибок) Большое количество сторонних библиотек для любых задач
4 Недостатки Автоматическое управление памятью: – Снижение скорости при больших объемах данных; – Требуется большое количество физической памяти, т.к. удаление объектов происходит с запаздыванием; Необходимость следить за закрытием ресурсов (отсутствие деструкторов).
5 Платформы Java Java Standard Edition (SE) – служит для разработки «настольных» консольных или графических приложений; Java Enterprise Edition (EE) – служит для разработки корпоративных или веб-приложений; Java Micro Edition (ME) – служит для разработки приложений под мобильные устройства (телефоны, бытовая техника).
6 Средства разработки Java Development Kit (JDK): – Инструментарий для компиляции, выполнения, отладки, документирования; – Библиотека классов (простые типы, мат.операции, ввод-вывод, потоки и процессы, графический интерфейс, интерфейс СУБД, аплеты); – Примеры приложений (demo, samples).
7 Серверные приложения (JEE) Сервер приложений (GlassFish, Tomcat, JBoss, WebSphere, Oracle WebLogic); Библиотеки классов (веб-службы, сервлеты, страницы JSP, EJB, ORM, JTA); Дополнительные средства автоматизации разработки (apache ant, apache maven).
8 Мобильные приложения (ME) Особенности: ограничения по скорости CPU ( Mhz), малое количество ОЗУ (5-15 Мб), слабые коммуникационные возможности; CLDC (Connected Limited Device Configuration) – основная функциональность (базовые типы, потоки, ввод-вывод, дата-время); MIDP (Mobile Information Device Profile) – расширения (оконный интерфейс, мультимедиа, контроллеры); Sun JavaME SDK (Sun Wireless Toolkit) – набор классов, эмулятор, средства отладки, примеры (требуется JDK).
9 Структура JDK
Пример приложения HelloWorld.java: public class HelloWorld{ public sayHello(){ System.out.println( Hello world! ); } public static void main( String []args ){ new HelloWorld().sayHello(); } Компиляция: %JAVA_HOME%\bin\javac HelloWorld.java Запуск: java HelloWorld
NetBeans IDE
Java Microedition Применение: мобильные устройства – сотовые телефоны, КПК, бытовая техника Список JSR для Java ME JSR MIDP JSR CLDC JSR-82 – Bluetooth API
JavaME: пример приложения Приложение, построенное по архитектуре клиент-сервер для поиска устройств и отправки сообщений на основе технологии BlueTooth (JSR-82) Инструментарий: Sun JavaME SDK 3.0: NetBeans 6.9.1: Исходный код:
Отличия от приложения JavaSE Точка входа в программу – мидлет (Midlet), описывается в дескрипторе приложения (jad-файл) Сокращенный набор базовых классов (например, коллекций – java.util.Collection) Запуск приложений под эмулятором (Sun JavaME SDK)
JavaME: пример приложения
Диаграмма классов
Последовательность вызовов – Режим клиента
Последовательность вызовов – Режим сервера
Ресурсы Центральный ресурс, посвященный Java: Примеры использования стандартной функциональности Java SE: Описание классов из Java SE: Описание классов CLDC 1.1: Описание классов MIDP 2.0: Описание классов Bluetooth API 1.1: