Разделы презентаций


Java Введение

Содержание

План лекцииИстория языка Java и его особенностиОбъектно-ориентированное программирование, основные понятияПакеты в JavaПравила именования

Слайды и текст этой презентации

Слайд 1Java Введение
© Составление, Будаев Д.С., Гаврилов А.В., 2013
Лекция 1
УНЦ «Инфоком»
Самара
2013

Java Введение© Составление, Будаев Д.С., Гаврилов А.В., 2013Лекция 1УНЦ «Инфоком»Самара2013

Слайд 2План лекции
История языка Java и его особенности

Объектно-ориентированное программирование, основные понятия

Пакеты

в Java

Правила именования

План лекцииИстория языка Java и его особенностиОбъектно-ориентированное программирование, основные понятияПакеты в JavaПравила именования

Слайд 3Некоторые факты о Java
1 миллиард 100 миллионов компьютеров!!!
930 миллионов загрузок

JRE каждый год
JDK 1.1 загружен 220 000 раз за 3

недели!
Около 9 миллионов разработчиков
Все наиболее значимые отрасли
Огромный список разных типов устройств
принтеры, веб-камеры, авто-системы, навигаторы, терминалы, телефоны, TV-приставки, плееры, другая техника.


Некоторые факты о Java1 миллиард 100 миллионов компьютеров!!!930 миллионов загрузок JRE каждый годJDK 1.1 загружен 220 000

Слайд 4Почему Java?
Простой язык
Объектная ориентированность
Устойчивость, предсказуемость
Поддержка многопоточности
Архитектурная независимость
Интерпретируемость и эффективность
Распределенная технология

Почему Java?Простой языкОбъектная ориентированностьУстойчивость, предсказуемостьПоддержка многопоточностиАрхитектурная независимостьИнтерпретируемость и эффективностьРаспределенная технология

Слайд 5Почему Java?
Проверена, расширена и признана
Огромное сообщество разработчиков
Принцип "write once, run

anywhere" (WORA)
Широкий спектр решаемых задач
Разнообразный набор библиотек
Постоянное развитие технологии

Почему Java?Проверена, расширена и признанаОгромное сообщество разработчиковПринцип

Слайд 6Предыстория Java
90-е годы, бурное развитие WWW
Скандальная история внутри Sun
Скотт МакНили

(Scott McNealy), CEO
Заявление Патрика Нотона (Patrick Naughton)
множество средств разработки и

архитектур
поддержка от Билла Джоя и Джеймса Гослинга
Брейнсторминг, идея нового проекта
главное – потребитель
аппаратно-программная платформа
результат – удобное и простое устройство
Предыстория Java90-е годы, бурное развитие WWWСкандальная история внутри SunСкотт МакНили (Scott McNealy), CEOЗаявление Патрика Нотона (Patrick Naughton)множество

Слайд 7Предыстория Java
Старт проекта Green (1991)
Патрик Нотон, Джеймс Гослинг, Майк Шеридан
Идея

Гослинга об "универсальном пульте"
Модификации Гослингом языка C++
Начало работ над OaK,

"технология молотка"
Первая демонстрация (08.1991)
Предыстория JavaСтарт проекта Green (1991)Патрик Нотон, Джеймс Гослинг, Майк ШериданИдея Гослинга об

Слайд 8Предыстория Java
Идеи, заложенные в OaK, проект Green:
Надежность и механизмы безопасности
Работа

на разных типах устройств
Объектная ориентация
Объекты, доступные по сети


Предыстория JavaИдеи, заложенные в OaK, проект Green:Надежность и механизмы безопасностиРабота на разных типах устройствОбъектная ориентацияОбъекты, доступные по

Слайд 9Предыстория Java
Развитие интерактивного TV (1992-1994)
Mitsubishi, France Telecom, Dolby Labs
Создание компании FirstPerson
Конкурс

Time Warner, TV-приставки
Трехмесячные переговоры с 3DO
Отказ от идеи интерактивного TV

Предыстория JavaРазвитие интерактивного TV (1992-1994)Mitsubishi, France Telecom, Dolby LabsСоздание компании FirstPersonКонкурс Time Warner, TV-приставкиТрехмесячные переговоры с 3DOОтказ от идеи

Слайд 10Предыстория Java
Разработка HTML, Европейский институт физики частиц (CERN), 1991
Первая версия

браузера Mosaic, 04.1993
Бесплатность для конечного пользователя
Создание нового бизнес-плана для OaK
Адаптация

OaK для задач WWW
Браузер WebRunner, апплеты, 09.1994
Предыстория JavaРазработка HTML, Европейский институт физики частиц (CERN), 1991Первая версия браузера Mosaic, 04.1993Бесплатность для конечного пользователяСоздание нового

Слайд 11Предыстория Java
Демонстрация возможностей, 1994-1995
Переименование OaK в Java
Neon, Lyric, Pepper, Silk
Переименование

WebRunner в HotJava
Лавинообразный рост загрузок
Конференция SunWorld, 1995
соглашение с Netscape (Джеймс

Кларк)
Предыстория JavaДемонстрация возможностей, 1994-1995Переименование OaK в JavaNeon, Lyric, Pepper, SilkПереименование WebRunner в HotJavaЛавинообразный рост загрузокКонференция SunWorld, 1995соглашение

Слайд 12Предыстория Java
1991 Начало работ над проектом Green, языком Oak
1993 Работы в области

интерактивного TV; приставки Появление браузера Mosaic
1994 Браузер WebRunner, переименован в HotJava
1995 Официальное представление

Java Включение в Netscape Navigator 2.0

Предыстория Java1991 Начало работ над проектом Green, языком Oak1993 Работы в области интерактивного TV; приставки Появление браузера

Слайд 13История Java
1996 – JDK 1.0 (JLS, JVM, JDK)
1997 – JDK

1.1 (JIT, JavaBeans, JDBC, RMI)
1998 – JDK 1.2 (изменения языка,

policy/permission, JFC, …)
1999 – разделение развития
Java 2 Platform, Standard Edition (J2SE, JavaSE)
Java 2 Platform, Enterprise Edition (J2EE, JavaEE)
Java 2 Platform, Micro Edition (J2ME, JavaME)
2000 – JDK 1.3 (HotSpot (JIT) в составе JVM, …)
2002 – JDK 1.4 (новое API)
2004 – JDK 1.5 (изменения языка)
2006 – JDK 1.6 (скриптовые языки, работа с базами данных…)
2011 – JDK 1.7 (изменения языка…)
История Java1996 – JDK 1.0 (JLS, JVM, JDK)1997 – JDK 1.1 (JIT, JavaBeans, JDBC, RMI)1998 – JDK

Слайд 14Java платформа
Множество различных аппаратных систем
Intel x86, Sun SPARC, PowerPC и

др.
Множество разных программных систем
MS Windows, Sun Solaris, Linux, Mac OS

и др.
Потребность в одинаковом функционале на различных платформах
Java Virtual Maсhine (JVM), универсальность
Исходный код открыт с 1999 г.
Java платформаМножество различных аппаратных системIntel x86, Sun SPARC, PowerPC и др.Множество разных программных системMS Windows, Sun Solaris,

Слайд 15Разработка и запуск


Компилятор
JVM
Исходный код
.java
Исполняемый
бинарный код
Байт-код
.class

Разработка и запускКомпиляторJVMИсходный код.javaИсполняемыйбинарный кодБайт-код.class

Слайд 16Особенности Java
Строгая типизация
Кросс-платформенность
Объектная ориентированность
Встроенная модель безопасности
Фокус на распределенные приложения
Динамичность, но

и легкость в освоении
Механизм автоматической сборки мусора

Особенности JavaСтрогая типизацияКросс-платформенностьОбъектная ориентированностьВстроенная модель безопасностиФокус на распределенные приложенияДинамичность, но и легкость в освоенииМеханизм автоматической сборки мусора

Слайд 17Именование установочных файлов
Старый вариант jdk-1_5_0_08-windows-i586-p.exe
1 – глобальная версия языка
5 –

номер версии языка
0 – номер подверсии
08 – номер модификации
windows-i586 –

платформа
Новый вариант jdk-6u14-windows-i586.exe
6 – номер версии языка
14 – номер модификации
windows-i586 – платформа
Именование установочных файловСтарый вариант jdk-1_5_0_08-windows-i586-p.exe 1 – глобальная версия языка5 – номер версии языка0 – номер подверсии08

Слайд 18Модели организации программного кода
Алгоритмическая модель
естественна для вычислительных задач
описывает последовательность действий
фактический

отказ от оператора goto
Процедурная модель
выделение повторяющихся кусков кода
Структурное программирование (70-80гг)
декомпозиция

на совокупность процедур
Модели организации программного кодаАлгоритмическая модельестественна для вычислительных задачописывает последовательность действийфактический отказ от оператора gotoПроцедурная модельвыделение повторяющихся кусков

Слайд 19ООП подход
Основан на представлении предметов и явлений предметной области задачи

в виде множества программных объектов
Объекты имеют состояния и обладают соответствующим

поведением
Объекты взаимодействуют друг с другом
ООП подходОснован на представлении предметов и явлений предметной области задачи в виде множества программных объектовОбъекты имеют состояния

Слайд 20Развитие подходов
Инструкции
Сплошные
С операторами
Процедуры
Модули
Данные
Ячейка памяти
Переменные
Массивы
Объединения
ООП
Объединение данных и методов их обработки



Развитие подходовИнструкцииСплошныеС операторамиПроцедурыМодулиДанныеЯчейка памятиПеременныеМассивыОбъединенияООПОбъединение данных и методов их обработки

Слайд 21Этапы программного решения задачи
Создание модели, определение данных для предстоящей обработки
Разработка

алгоритма: определение операций над данными и последовательности шагов по преобразованию

текущего состояния модели в следующее
Формулировка модели и алгоритма на языке программирования
Этапы программного решения задачиСоздание модели, определение данных для предстоящей обработкиРазработка алгоритма: определение операций над данными и последовательности

Слайд 22Объекты и классы
Объект
Состояние
Поведение
Уникальность
Время жизни
Класс
Объекты имеют одинаковый набор свойств
Объекты имеют общее

поведение

Объекты и классыОбъектСостояниеПоведениеУникальностьВремя жизниКлассОбъекты имеют одинаковый набор свойствОбъекты имеют общее поведение

Слайд 23Класс
Шаблон поведения объектов данного типа с некоторыми параметрами
Название, свойства, конструктор, методы

КлассШаблон поведения объектов данного типа с некоторыми параметрамиНазвание, свойства, конструктор, методы

Слайд 24Объект
Состояние
Поведение
Уникальность
Время жизни

ОбъектСостояниеПоведениеУникальностьВремя жизни

Слайд 25Основные принципы
Инкапсуляция
объединение данных и методов их обработки в одну сущность,

приводящее к сокрытию реализации класса и отделению его внутреннего представления

от внешнего

Наследование
отношение между классами, при котором один класс использует структуру или поведение другого (одиночное наследование) или других (множественное наследование) классов

Полиморфизм
способность объекта соответствовать во время выполнения двум или более возможным типам
Основные принципыИнкапсуляция	объединение данных и методов их обработки в одну сущность, приводящее к сокрытию реализации класса и отделению

Слайд 26Инкапсуляция
Данные и методы объекта могут обладать разной степенью доступности
Открытые методы

составляют внешний интерфейс объекта
Контроль допустимости значений полей
Модульная схема взаимодействия отдельных

компонентов системы
Легче отлаживать и поддерживать

ИнкапсуляцияДанные и методы объекта могут обладать разной степенью доступностиОткрытые методы составляют внешний интерфейс объектаКонтроль допустимости значений полейМодульная

Слайд 27Наследование
Отношение между классами, использование поведения другого класса
Вводит иерархию наследования классов
Подклассы

дополняют и/или переопределяют структуру и поведение
Уход от повторного написания кода
Более

эффективный и гибкий код
НаследованиеОтношение между классами, использование поведения другого классаВводит иерархию наследования классовПодклассы дополняют и/или переопределяют структуру и поведениеУход от

Слайд 28Полиморфизм
"Имеющий много форм" (лат.)
Тип – класс или интерфейс
Иерархия различных типов
Возможность

использования объектов более общего полиморфного типа
Полиморфный вызов разных по реализации,

но одноименных методов
Полиморфизм

Слайд 29Отношения между классами
Ассоциация Объекты классов вступают во взаимодействие между собой
Агрегация Объекты

одного класса входят в объекты другого, при этом не обладая

самостоятельностью
Композиция Объекты разных классов образуют целое, оставаясь самостоятельными
Класс-метакласс Экземплярами класса являются классы
Отношения между классамиАссоциация Объекты классов вступают во взаимодействие между собой Агрегация Объекты одного класса входят в объекты

Слайд 30Ассоциация
Объект(ы) одного типа ссылаются на объект(ы) другого типа
Отношение не носит

характера владения

АссоциацияОбъект(ы) одного типа ссылаются на объект(ы) другого типаОтношение не носит характера владения

Слайд 31Агрегация
Отношение между классами типа "содержит" или "состоит из"
При исчезновении своих составных частей

объект-агрегат продолжает существовать

АгрегацияОтношение между классами типа

Слайд 32Композиция
Объекты разных классов образуют целое, оставаясь самостоятельными
При исчезновении своих составных

частей объект перестает существовать

КомпозицияОбъекты разных классов образуют целое, оставаясь самостоятельнымиПри исчезновении своих составных частей объект перестает существовать

Слайд 33Класс-метакласс
Класс можно рассматривать как объект со свойствами и методами
Можно создать

шаблон, которому должны удовлетворять все создаваемые классы
"Инструкция по созданию инструкций"
Объекты

порождаются от классов, а классы – от метаклассов
Метаклассы – являются классами
Класс-метаклассКласс можно рассматривать как объект со свойствами и методамиМожно создать шаблон, которому должны удовлетворять все создаваемые классы

Слайд 34Достоинства ООП
Упрощение разработки и сохранение совместимости
Модульность и локализация сущностей, возможность

независимых модификаций компонентов, повторное их использование
Возможность создания расширяемых систем
Обработка разнородных

структур, наследование и изменение поведения на этапе выполнения
Повышение надежности программного обеспечения
Достоинства ООПУпрощение разработки и сохранение совместимостиМодульность и локализация сущностей, возможность независимых модификаций компонентов, повторное их использованиеВозможность создания

Слайд 35Недостатки ООП
Неэффективность на этапе выполнения
Неэффективность в смысле распределения памяти
Излишняя избыточность
Психологическая

сложность проектирования
Техническая сложность проектирования и документирования

Недостатки ООПНеэффективность на этапе выполненияНеэффективность в смысле распределения памятиИзлишняя избыточностьПсихологическая сложность проектированияТехническая сложность проектирования и документирования

Слайд 36Объектный язык Java
Все сущности в Java являются объектами, классами либо

интерфейсами

Строгая реализация инкапсуляции

Реализовано одиночное наследование от класса и множественное от

интерфейсов
Объектный язык JavaВсе сущности в Java являются объектами, классами либо интерфейсамиСтрогая реализация инкапсуляцииРеализовано одиночное наследование от класса

Слайд 37
Спасибо за внимание!

Спасибо за внимание!

Слайд 38Дополнительные источники
Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд,

Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс»,

2001. – 624 с.
Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с.
Хорстманн, К. Java 2. Библиотека профессионала. Том 1. Основы [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 816 с.
Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с.
JavaSE at a Glance [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/overview/index.html, дата доступа: 21.10.2011.
JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/documentation/api-jsp-136079.html, дата доступа: 21.10.2011.
Дополнительные источникиАрнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. :

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика