
- •Особенности языка Java
- •История Java
- •Характерные особенности Java
- •Разработка и выполнение Java приложения:
- •Понятие среды выполнения Java
- •Переносимость языка Java
- •Высокая производительность языка Java
- •Типы Java-приложений
- •Автономное (самостоятельное) приложение – application
- •Апплет – applet
- •Комбинированное приложение
- •Сервлет – servlet
- •Мидлет – midlet
- •Различия между автономными приложениями и апплетами
- •Автономное приложение
- •Апплет
- •Этапы жизненного цикла апплета
- •Этапы жизненного цикла в соответствии со стандартом Sun:
- •Этап инициализации
- •Этап запуска
- •Этап останова
- •Этап уничтожения
- •Этап рисования (перерисовки) окна апплета
- •Отличия Java от C++
- •Конструкторы классов
- •«Сборщик мусора»
- •Типы данных в Java
- •Простые типы
- •Ссылочные (объектные) типы
- •Строки в Java
- •Массивы в Java
- •Классы в Java
- •Особенности реализации
- •Пакеты
- •Управление доступом к элементам класса
- •Поля класса
- •Методы
- •Перегрузка и переопределение методов
- •Ключевые слова THIS и SUPER
- •Интерфейсы в Java
- •Понятие Java API
- •Пакеты ядра Java API (в JDK 1.0):
- •Развитие ядра Java API (в новой версии JDK и в Java 2)
- •Основные понятия AWT
- •Компоненты
- •Контейнеры
- •Компоновки. Менеджеры компоновки
- •События
- •События. Обработка событий
- •Иерархия классов-событий
- •Семантические события и их источники-компоненты AWT
- •Модель делегирования событий
- •Методы, объявленные в интерфейсах для семантических событий
- •Способы реализации блока прослушивания событий от AWT-компонента
- •Понятие класса-адаптера
- •Комбинированное приложение Java. Обработка события WindowEvent
- •Исключения в Java и их обработка
- •Иерархия классов исключений
- •Различия между исключениями Exception и ошибками Error
- •Организация обработки исключений в программе
- •Используемые операторы:
- •Как правильно организовывать обработку исключений
- •Понятия процесса и потока
- •Конструкторы класса Thread
- •Наиболее важные методы класса Thread
- •Способы создания потоков
- •Синхронизация потоков
- •Когда следует использовать синхронизацию потоков?
- •Механизм блокировки объекта
- •Способы использования ключевого слова synchronized
- •Синхронизированные методы
- •Оператор synchronized
- •Преимущества оператора synchronized:
- •Взаимодействие потоков: использование методов wait(), notify(), notifyAll()
- •Стандартные образцы кода использования методов
- •Поток-диспетчер событий AWT
- •Потоки и исключения
- •О группах потоков
- •Технология компонентного программирования JavaBeans
- •Понятие технологии компонентного программирования
- •Этап компиляции
- •Этап разработки
- •Этап создания приложения
- •Этап выполнения
- •Понятие компонентной модели
- •Основные требования к классам Bean-компонентов
- •Соглашения об именах
- •Соглашения об именах для свойств
- •Соглашения об именах для событий
- •Соглашения об именах для методов
- •Использование событий для управления свойствами
- •Связанные свойства
- •Преобразование обычного свойства в связанное
- •Ограниченные свойства
- •Преобразование обычного свойства в ограниченное
- •Ввод-вывод в Java: основные понятия
- •Основные группы классов и интерфейсов пакета java.io
- •Фильтрованные потоки
- •Буферизированные потоки
- •Принципы работы Buffered-потоков
- •Входные потоки
- •Выходные потоки
- •Канальные потоки
- •Синхронизация потоков данных
- •Понятие отражения (рефлексии)
- •Класс java.lang.Class
- •Классы пакета java.lang.reflect
- •Понятие интроспекции
- •Понятие сериализации
- •Обеспечение сериализуемости Bean
- •Выполнение базовой сериализации
- •Пример с сериализацией (см. SerializationDemo.java)
- •Настройка сериализации
- •Методы readObject и writeObject
- •Интерфейс Externalizable
- •Создание экземпляров сериализованных Bean
- •Приложение
- •// Файл HelloApplet.java
- •// Файл MyApplet.java
- •// Файл StringDemo.java
- •// Файл ConstrDemo.java
- •// Фрагменты файла AnimBallsPlus.java

Конспект Java
(Версия 1.0/2010)
Author: Кожомбердиева Г.И.
(к.т.н. доцент ПГУПС ИВС 2010г.)
Под редакцией Vasena
(студент ПГУПС ПВТ-711 2010г.)
Скачано с сайта http://ivc.clan.su
PDF-document was made by Vasena

Скачано с сайта http://ivc.clan.su
Особенности языка Java
История Java
Дополнительно см. кн. Ноутона и Шилдта, с. 11-28 (гл.1).
1989 г. — создание WWW в рамках Internet.
Нач. 1990-х г.г. — в Sun Microsystems реализуется проект языка Oak, предназначенного для программирования микроконтроллеров бытовой электронной техники, выпускаемых различными производителями. Разрабатываемый язык программирования не должен зависеть от архитектуры микропроцессора.
1994 г. — язык Oak переориентирован на использование в Internet для программирования динамических Web-страниц и получает новое имя — Java.
Главное достоинство нового языка — платформенная независимость, позволяющая Javaпрограммам, встраиваемым в Web-страницы, одинаково хорошо работать на клиентских машинах с центральными процессорами различной архитектуры:
«Написано однажды — исполняется везде»
1995 г. – JDK1.0
Java Development Kit — комплект средств разработки Java-приложений (основа любой интегрированной среды разработки).
1997 г. – JDK 1.1— улучшенная версия
1998 г. – JDK 1.2 — платформа Java 2
2000 г. – JDK 1.3
2002 г. – JDK 1.4
2004 г. – JDK 1.5
2006 г. – JDK 1.6 (JavaSE6)
Характерные особенности Java
Sun Microsystems следующим образом характеризует язык Java:
1)Простой язык. В Java, синтаксически сходном с C++, ликвидирован ряд недостатков C++, что упрощает процесс программирования. В Java, например, нет указателей и множественного наследования.
2)Объектно-ориентированный язык. Работает только с объектами (экземплярами классов или массивами). Простые типы данных сохранены, но имеются классы-оболочки простых типов.
3)Устойчивый (надежный) язык. Программы на Java застрахованы от многих ошибок. Можно отметить:
строгую типизацию языка (проверка соответствия типов данных при компиляции);
управление распределением и освобождением памяти (программист не имеет возможности явно
управлять этими процессами); объектно-ориентированная обработка исключений (высокоэффективный механизм устранения
ошибок).
4)Безопасный язык. Частью интерфейса прикладного программирования Java API является интерфейс безопасности Java Security API, поддерживающий систему безопасности Java и позволяющий создавать безопасное программное обеспечение.
5)Сетевой (распределённый) язык.
6)Архитектурно-независимый (независимый от платформы) язык.
7)Интерпретируемый.
8)Переносимый.
9)Высокопроизводительный.
10)Многопоточный.
11)Динамический.
1

Скачано с сайта http://ivc.clan.su
Интерпретируемость, независимость от платформы, переносимость языка
Java
Известны следующие способы выполнения программ:
компиляция;
интерпретация.
Компиляция — преобразование программы, написанной на языке программирования, в программу на другом языке (как правило, машинном) путём последовательной замены операторов исходной программы эквивалентной последовательностью команд машинного языка. Вычислительная машина выполняет скомпилированную программу вместо исходной.
Интерпретация — пооператорное выполнение исходной программы с помощью программыинтерпретатора. Интерпретатор анализирует каждый оператор исходной программы и непосредственно реализует эквивалентную последовательность команд машинного языка.
Обычный процесс разработки приложения выглядит следующим образом:
Разработка и выполнение Java приложения:
Компилятор Java не генерирует машинные команды для процессора ЭВМ. Он создаёт промежуточный код, так называемый байт-код для виртуальной машины Java (Java Virtual Machine). JVM — это виртуальный компьютер, размещенный в оперативной памяти реальной машины. Байт-код
— программа, созданная компилятором на языке JVM. В основе JVM лежит интерпретатор языка
Java (точнее - байт-кода Java).
В настоящее время имеются созданные корпорацией Sun и партнёрами программные версии JVM для большинства известных компьютерных платформ, поэтому файлы байт-кодов (.class) можно рассматривать как независимые от платформы приложения.
Интерпретатор языка Java выполняет скомпилированный байт-код, используя необходимые классы той платформы, на которой он установлен. При этом JVM может загружать классы, как из библиотек локальной машины, так и из сети.
Платформа — это программно-аппаратная среда, в которой происходит выполнение приложений, комбинация аппаратного обеспечения и операционной системы.
Java:
1)Алгоритмический язык программирования/высокого уровня.
2)Платформа (программная) для выполнения приложений:
JVM (виртуальная машина Java);
Java API (интерфейс прикладного программирования языка Java).
2