
- •Распределенные системы обработки информации. Недашковский Вячеслав Михайлович
- •Лекция 3.09.04 Литература
- •1.Язык программирования Java
- •1.1.История и предпосылки
- •1.3.Архитектура Java
- •1.3.1Именованные константы
- •1.3.2Классы и объекты
- •1.3.3Комментарии
- •Лекция 21.09.04
- •1.3.4Класс Object
- •1.3.5Класс Class
- •Синхронизация
- •Взаимодействие потоков
- •1.5.Библиотека Swing
- •1.5.2Панели
- •1.5.3Обработка событий
- •2.1.1Требования к системе
- •2.1.2Прозрачность системы
- •2.2.Общие сведения о промежуточном слое
- •2.3.Типы промежуточного слоя
- •2.4.Удаленный вызов процедур
- •Лекция 2.11.04
- •2.5.Передача параметров
- •2.6.Передача параметров по ссылке.
- •2.7.Расширение модели rpc. Асинхронный вызов.
- •3.Общие сведения об объектно-ориентированном промежуточном слое. Обращение к удаленным объектам.
- •3.1.Привязка клиента к распределенному объекту.
- •3.2.Объекты времени компиляции и объекты времени выполнения (раздел)
- •3.3.Сохранные и не резидентные объекты.
- •3.3.1Привязка клиента к объекту.
- •3.4.Реализация ссылок на объект
- •Лекция 9.11.04
- •3.4.1Идентификатор сервера. Об именовании. Имена, идентификаторы, адреса.
- •Идентификатор сервера
- •3.5.2Динамическое обращение
- •Передача параметров
- •3.5.3Сервер объектов
- •3.5.4Адаптер объекта
- •3.6.Перенос кода
- •3.6.1Модели переноса кода
- •3.8.4Реализация технологии клиент-сервер на Java (работа с сетями)
- •Лекция 30.11.04
- •3.8.5Клиентская часть
- •Объяснение в виде диаграммы последовательности
- •3.8.6Дополнительные сведения rmi.Java
- •Разница между удаленными и локальными объектами.
- •Блокировка объектов
- •Вопрос удаленных объектов
- •4.Последний раздел языка Java: интерфейс jdbc при работе с бд
- •4.1.Определение местонахождения распределенных объектов
- •Именование
- •Трейдинг
- •Лекция 7.12.04
- •4.2.Иерархические подходы в службах локализации.
- •4.2.1Кэширование указателей
- •4.2.2Масштабирование
- •4.3.Объектный трейдинг.
- •4.5.Алгоритм Крестиана
- •4.6.Алгоритм Беркли
- •4.7.Логические часы. Алгоритм Лампорта.
- •4.8.Жизненный цикл объекта
- •4.9.Миграция объектов на удаленный хост
Распределенные системы обработки информации. Недашковский Вячеслав Михайлович
Язык Java, среда Eclipse.
Лекция 3.09.04 Литература
Кен А., Госменг Дж., Холлез Д. Язык программирования Java, 3-е изд. пер. с. англ. –М: изд. дом «Вильямс», 2001-624 с.
Таренбаум Э., ван Стен М. Распределенные системы. Принципы и парадигмы.-СПб: Питер, 2003 – 877с.
Эммерих В. Конструирование распределенных объектов. Методы и средства программирования интероперабельных объектов в архитектурах OMG/CORBA, Microsoft/Com и Java/RMI.
Изимбал А. А., Анишина М.Л. Технология создания распределенных систем для профессионалов – СПб:
Цель: привести основные сведения о языке Java а также общие сведения о РС, и технологиях создания РС; дать первичные навыки программирования на языке Java.
Задачи.
Познакомить студентов с основами языка Java (с учетом знания C++)
Дать общие сведения о РС.
Познакомить с некоторыми технологиями, используемыми при создании РС (RMI, CORBA).
Дать первичные навыки программирования на языке Java.
1.Язык программирования Java
1.1.История и предпосылки
1991 Patric Norton – разработка языка, чтобы программировать бытовые устройства.
сделать машинонезависимый язык и не зависимый от процессоров. Для этого программы преобразуются в промежуточный код, а он к конкретному процессору. Создается интерпретатор.
Собрались C++-ры. Оттуда и основа. Язык был готов 1999 г. Пытались продать – ничего не вышло
и сделали они браузер.
1.2.Сопоставление с C++
Таблица 1.1. Сравнение некоторых аспектов C++ и Java
C++ |
Java |
есть объявления и определения |
нет |
const |
нет, есть final |
>> - нет разницы между логическим и арифметическим сдвигом |
>> - арифметический >>> - логический |
0, 1 |
false, true |
строки как таковые отсутствуют |
ReadOnly, в памяти под новую строку формируется место, старая строка теряется из вида |
goto |
нет goto, зато есть break <метка> |
Промежуточный код – байт код – виртуальной машины Java. среда исполнения, которая содержит менеджер безопасности: он контролирует байт-код.
1.3.Архитектура Java
class Hello { public static void main(String[] args) { System.out.println(“Здравтствуй!”); } }
Модификаторы и функция main нужны, чтобы класс был приложением. String[] – массив. Так как в метод main не передается адрес объекта, то он объявлен с модификатором static, а адрес объекта не передается, так как до вызова никакого объекта не создавалось, то есть передавать нечего.
class Fib { /** Вывод на экран последовательности чисел Фибоначчи, меньших 50 */ public static void main(String[] args) { int l = 1, ni = 1; System.out.println(l); while (ni < l) { System.out.println(ni); ni = l+ni; // новое значение ni l = ni-l; /* новое значение l */ } } }
Таблица 1.2. Типы
Обозначение типа |
размер, bit |
|
byte |
8 |
знаковый |
short |
16 |
знаковый |
int |
32 |
знаковый |
long |
64 |
знаковый |
float |
32 |
знаковый |
double |
64 |
знаковый |
char |
16 |
Unicode |