Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java1_2013_2014 / java1.pptx
Скачиваний:
172
Добавлен:
16.04.2015
Размер:
158.03 Кб
Скачать

Области применения Java

11

Мобильные телефоны (Nokia, Siemens, Samsung, Motorola, Alcatel, Panasonic, DoCoMo ,etc.) - JME

Другие встроенные системы: smart-карты (JavaCard), органайзеры, цифровое телевидение (set-top boxes) и др. - JME

Программирование для Internet – апплеты (applets), сервлеты (servlets), JavaServer pages (JSP), Web-сервисы, сетевые соединения (sockets), etc. – JSE, JEE

Интегрированные инструментальные средства (NetBeans, IBM WebSphere, IntelliJ IDEA, Eclipse, etc.)

Решения (enterprise solutions): JEE

Java - универсальная платформа для разработки любых классов приложений

Поддержка Java крупными фирмами: производители мобильных телефонов; IBM; HP

IBM: Real-time Java (работает под Real-Time Linux) в среде разработки IBM WebSphere Real-time (2006)

(C)В.О. Сафонов. 2013

Основные понятия Java

12

Класс (class), объект (object), объектная ссылка

(object reference)

Поля (fields), методы (methods)

Иерархия и наследование классов: подкласс

(subclass) – класс-потомок ; надкласс (суперкласс, superclass) – класс-предок

Интерфейс (interface) - спецификация поведения объектов данного класса; совокупность констант и заголовков методов

Аннотация (annotation) – содержательный комментарий (спецификация), дополняющий Java-код и оформленный с помощью интерфейсов. Возможна разработка пользовательских процессоров аннотаций

Классы и интерфейсы могут быть

параметризованными (generic). Пример: любая

коллекция (список, стек и др.), параметризованная типом элемента

Пакет (package) – совокупность классов.

Имя пакета ~ domain name: com.sun.medialib.mlib(C) В.О. Сафонов. 2013

Статические (static), скрытые (private), терминальные

(final) и защищенные (protected) поля и методы

Java и C++

13

Все методы в Java – либо виртуальные, либо статическиеВ Java нет указателей и операций над ними, но есть

встроенный сборщик мусора: System.gc() (по умолчанию – фоновый поток)

В Java есть только перегрузка методов (method overloading), но нет перегрузки операций (operator overloading)

В Java, в дополнение к абстрактным классам и абстрактным методам, есть также интерфейсыВ Java, в отличие от Pascal, C, C++, нет понятия

“программа”, но есть понятие “исполняемый класс”.В Java вместо глобальных переменных – статические

поля классов

В Java нет множественного наследования классов; оно

есть только для интерфейсов

В Java есть встроенная в язык и core API поддержка

(C) В.О. Сафонов. 2013

многопоточности (multi-threading)

Первая программа на Java (исполняемый класс)

14

public class Simple{

public static void main(String[] args)

{

System.out.println(“Java is now an Oracle product!”);

}

} // Simple

(C) В.О. Сафонов. 2013

Компиляция и выполнение (интерпретация) Simple с помощью JDK

15

Создание в рабочей директории файла Simple.java

% javac Simple.java

В рабочую директорию записан файл Simple.class – байт-код Simple

% java Simple

Java is now an Oracle product!

%

(C) В.О. Сафонов. 2013

Инструменты программирования на Java

16

JDK (Oracle) – свободно распространяется

NetBeans (Oracle) - свободно распространяется

Eclipse

IntelliJ IDEA

IBM WebSphere

J#.NET (Microsoft)

Десятки интегрированных сред для Java

Расширения интегрированных сред для Java: plug-ins, modules (NetBeans)

(C)В.О. Сафонов. 2013

Сертификация реализаций Java и “Java War”

17

Java Compatibility Kit (JCK, Sun Microsystems) – канонический набор тестов ( > 20000) для оценки реализаций Java

Microsoft VJ++ не прошел сертификацию тестами JCK из-за расширений Java, реализованных Microsoft, но использовал Java trademark в своих продуктах (ранее назывался Visual Java++)

Sun подала в суд на Microsoft (1997) за эти незаконные действия

ивыиграла: Microsoft лишили права использования Java trademark

Microsoft разработала язык C# и платформу .NET – конкурент Java

итехнологии Enterprise Java Beans

Microsoft приняла решение не поддерживать Java в браузере Microsoft Internet Explorer 6.x в системе Windows XP (однако эту поддержку можно скачать отдельно)

Sun реализовала Java plug-ins для использования Java с браузером Microsoft Internet Explorer 6.x в Windows XP (http://java.sun.com)

2004: Sun и Microsoft заключили соглашение на 10 лет в области интеллектуальной собственности. Формально Sun и Microsoft - партнеры

Java и .NET “дружат” (на уровне Web-сервисов)

Новые “Java wars” ведутся теперь между Oracle и Google…

(C)В.О. Сафонов. 2013

Виды Java-приложений

18

Отдельная программа (standalone application) - исполняемый класс

Пакет (package) – совокупность (библиотека) классов

Апплет (applet) – специальный класс, связанный с Web- страницей, исполняемый на клиентской машине при просмотре данной Web-страницы с помощью браузера (Netscape, Internet Explorer, HotJava, etc.)

Сервлет (servlet) – специальный класс, используемый для реализации Web-сервера

Java Bean – независимая Java-компонента, используемая как строительный блок для создания больших Java- приложений (сравните с COM-объектами, компонентами

вC#, Oberon и др.)

Java Web Start Application (JNLP application)

Проблема: отсутствует разновидность структурирования Java-классов, позволяющая загружать и выгружать группу взаимосвязанных классов (ср. с .NET: application domain). Решение в NetBeans: реализованы концепции module и module suite.

В Java 8 или в Java 9 появится концепция модуля (2013 - 2014)

(C)В.О. Сафонов. 2013

Java и Microsoft.NET

19

Microsoft.NET (2000) - окружение времени выполнения,

обеспечивающее поддержку многоязыкового надежного и безопасного объектно-ориентированного

программирования и Web-программирования.

Основные языки- C#, VB.NET, Managed C++, J#. ОС: Windows 2000, Windows XP, 2003, Vista.

Многие возможности.NET спроектированы и

реализованы под влиянием Java.

Основа Microsoft.NET: Common Language Runtime (CLR); промежуточный код (СIL), аналогичный байт-коду; cтруктура assembly (СIL + metadata); JIT-компиляция MSIL-кода, атрибуты

В отличие от Java, .NET - стандартизована набором

ECMA-стандартов

Rotor (2002) - Shared Source (открытая некоммерческая) реализация .NET для Windows 2000/XP, UNIX FreeBSD,

Linux.

Реализация Java с 2005 г. распространяется с исходными текстами (проект openJDK)

Платформы Java и .NET(C)-Ввравной. Сафонов.степени2013 заслуживают детального изучения

Развитие Java-технологии: Java Community Process (JCP)

20

http://www.jcp.org

Сообщество пользователей Java и разработчиков Java- технологии. Цель: обсуждение и развитие Java (языка,

JVM, Java API)

Членство в JCP: индивидуальное – бесплатно, корпоративное - $2,000

Java Specification Request (JSR) – документ,

описывающий новые предлагаемые возможности Java

Reference Implementation (RI) – ссылочная реализация предлагаемого JSR

Technology Compatibility Kit (TCK) – инструмент для тестирования реализаций предлагаемого JSR

Final Approval Ballot (FAB) – процесс принятия Java-

сообществом нового JSR (решается путем голосования)

Проф. В.О. Сафонов – член JCP (c 2011)

Вы тоже можете стать участником JCP

(C)В.О. Сафонов. 2013

Соседние файлы в папке java1_2013_2014