Введение в технологию Java

Содержание

Слайд 2

Литература Герберт Шилдт. Java. Полное руководство, М.: Вильямс, 2012. – 1104

Литература

Герберт Шилдт. Java. Полное руководство, М.: Вильямс, 2012. – 1104 с.
Кей

С. Хорстманн, Гари Корнелл. Библиотека профессионала. Основы. Том 1 (Том 2). М.: Вильямс, 2010. – 816 c.
Брюс Эккель. Философия Java. Библиотека программиста. СПб.: Питер, 2011. – 640 с.
Берт Бэйтс, Кэтти Сьерра. Изучаем Java. Эксмо, 2012. – 720 с.
Монахов В. Язык программирования Java и среда NetBeans. BHV-СПб, 2011. – 704 с.
Слайд 3

Программное обеспечение курса

Программное обеспечение курса

Слайд 4

Технология Java: история Первая версия языка была официально опубликована в 1995

Технология Java: история

Первая версия языка была официально опубликована в 1995 году
Основная

причина – потребность в независящем от платфор­мы языке
Слайд 5

JAVA и C++ Синтаксис операторов Java практически полностью совпадает с синтаксисом

JAVA и C++

Синтаксис операторов Java практически полностью совпадает с синтаксисом языка

C++;
Java не обладает совместимостью с C++;
Java является гораздо более сильно типизированным по сравнению с C++;
В отличие от C++, ни один из элементов спецификации Java не зависит от реализации. И размер основных типов данных, и арифметические операции над ними строго определены.
Слайд 6

Цели создания нового языка Повышение скорости разработки; Устранение ошибок других языков

Цели создания нового языка

Повышение скорости разработки;
Устранение ошибок других языков ;
Переносимость кода;
Многопоточность;
Загрузка

классов динамически, когда они на самом деле необходимы;
Поддержка изменения программы динамически во время выполнения загрузки классов из разных источников;
Обеспечение более высокого уровня безопасности.
Слайд 7

Средства достижения целей The Java Virtual Machine (JVM™) программы, написанные на

Средства достижения целей

The Java Virtual Machine (JVM™)
программы, написанные на языке Java,

выполняются под управлением специальной программы – виртуальной Java-машины
Garbage collection
сборщик мусора
The Java Runtime Environment (JRE)
JVM tool interface
Слайд 8

The Java Virtual Machine Java Virtual Machine (JVM) – программа виртуальной

The Java Virtual Machine

Java Virtual Machine (JVM) – программа виртуальной Java-машины,

скомпилированная в коды соответствующего процессора – система времени выполнения Java;
Взаимодействует с операционной системой, обеспечивая доступ к файлам или поддержку графики;
Исполняет байт-код;
Обеспечивает автоматическое высвобождение памяти, занятой ненужными объектами (сборка мусора).
Слайд 9

Java Virtual Machine

Java Virtual Machine

Слайд 10

Реализация JVM

Реализация JVM

Слайд 11

JRE выполняет основные задачи Java Runtime Environment (сокр. JRE) — минимальная

JRE выполняет основные задачи

Java Runtime Environment (сокр. JRE) — минимальная реализация

виртуальной машины, необходимая для исполнения Java-приложений, без компилятора и других средств разработки. Состоит из виртуальной машины — Java Virtual Machine и библиотеки Java-классов.
Загружает код (Loads code)
Проверяет код (Verifies code)
Выполняет код (Executes code)
Слайд 12

Загрузчик классов (Class Loader) Загружает все классы, необходимые для выполнения программы.

Загрузчик классов (Class Loader)

Загружает все классы, необходимые для выполнения программы.
Сохраняет классы

локальной файловой системы в отдельных пространствах имен (namespaces).
Предотвращает подмену (spoofing).
Слайд 13

Проверка байт-кода (Bytecode Verifier) Проверка гарантирует, что: Код соблюдает спецификацию JVM.

Проверка байт-кода (Bytecode Verifier)

Проверка гарантирует, что:
Код соблюдает спецификацию JVM.
Код не

нарушает целостность системы (system integrity).
Код не вызывает переполнения стека (stack overflows) или недостаточного расхода (underflows).
Типы параметров для всех выражений кода являются корректными.
Нет не правильных преобразований данных (преобразования целых чисел к указателям).
Слайд 14

Функции Java Runtime Environment

Функции Java Runtime Environment

Слайд 15

Выполнение кода JRE Just-In-Time (JIT) компилятор JIT-компиляция (Just-In-Time) – компиляция "по ходу дела", "налету"

Выполнение кода JRE Just-In-Time (JIT) компилятор

JIT-компиляция (Just-In-Time) – компиляция "по ходу дела",

"налету"
Слайд 16

Установка среды Java Существует два основных способа установки Java-машины на клиентский

Установка среды Java

Существует два основных способа установки Java-машины на клиентский компьютер:
JRE

из поставки Software Development Kit (SDK) - Комплекта разработки программного обеспечения.
Специализированный вариант JRE в составе Интернет-браузера, называющийся Java plugin.
Комплект последних версий SDK можно свободно загружать с сайта
http://www.oracle.com/technetwork/java/javase/downloads/(jre7-downloads-1880261.html)
Слайд 17

Типы JDK Java Development Kit (сокращенно JDK) — бесплатно распространяемый компанией

Типы JDK

Java Development Kit (сокращенно JDK) — бесплатно распространяемый компанией Oracle

Corporation (ранее Sun Microsystems) комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE).
SDK – Software Development Kit;
Java ME – комплект Java Micro Edition для создания приложений, работающих на встраиваемых и мобильных устройствах.
Java SE – комплект Java Standard Edition для программирования "толстых клиентов".
Java EE– комплект Java для создания серверного программного обеспечения.
Java Card – комплект для устройств с крайне ограниченными вычислительными ресурсами. По сравнению с другими версиями Java изменен байткод, требования к исполняющей платформе, состав стандартных библиотек..
Слайд 18

Версии платформы Java SE

Версии платформы Java SE

Слайд 19

Типы приложений Java SE /EE Приложение (application) – аналог "обычной" прикладной

Типы приложений Java SE /EE

Приложение (application) – аналог "обычной" прикладной программы.
Апплет

(applet) – специализированная программа с ограниченными возможностями, работающая в окне WWW-документа под управлением браузера.
Сервлет (servlet) - специализированная программа с ограниченными возможностями, работающая в WWW на стороне сервера. Используется в технологии JSP (Java Server Pages) для программирования WWW-документов на стороне сервера.
Серверное приложение (Enterprise application) – предназначено для использования на стороне сервера.
Библиотека (Java Class Library)
Слайд 20

Инсталляция Java Development Kit Скопировать и установить Java Development Kit. http://www.oracle.com/technetwork/java/javase/downloads/index.html

Инсталляция Java Development Kit

Скопировать и установить Java Development Kit.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Установить переменные окружения

JAVA_HOME, PATH и CLASSPATH
Установка переменной окружения PATH позволяет запускать инструменты JRE (компилятор, интерпретатор и т.д.) без перехода в каталог, где они установлены
Переменная CLASSPATH позволяет исполняющей системе находить и запускать Java-программы из различных каталогов
Переменная JAVA_HOME используется многими приложениями Java для определения расположения Java SDK в файловой системе
Слайд 21

Дополнительные ресурсы

Дополнительные ресурсы

Слайд 22

Слайд 23

Java Community Process (JCP) Сообщество работает на основании набора документов и

Java Community Process (JCP)

Сообщество работает на основании набора документов и процедур

JSR (Java Specification Request):
Запрос (Предлагаемая спецификация свободно принимается на рассмотрение членами сообщества, присваивается номер);
Черновик спецификации (первый черновик спецификации выносится на рассмотрение Исполнительного Комитета и членов сообщества, решение о продолжении или доработке);
Открытый черновик (черновик спецификации в свободном доступе, доработка, голосование Исполнительного Комитета для окончательного утверждения. Эталонная реализация и набор автоматических тестов);
Поддержка (доработка, уточнение или расширение эталонной реализации и набора тестов по мере поступления запросов).
Слайд 24

OpenJDK OpenJDK - проект по созданию полностью совместимого Java Development Kit,

OpenJDK

OpenJDK - проект по созданию полностью совместимого Java Development Kit, состоящего

исключительно из свободного и открытого исходного кода.
http://openjdk.java.net/
Имеет лицензию свободно-распространяемого программного обеспечения (GNU GPL)
Эталонная реализация JDK
Реализует новые возможности языка
Открыт для членов сообщества
Базируется на Oracle JDK
Слайд 25

Создание программы на Java Написать программу на Java и сохранить ее

Создание программы на Java

Написать программу на Java и сохранить ее

на диск.
Выполнить компиляцию программы, чтобы перевести ее с языка Java в специальный байт‐код, который понимает виртуальная машина JVM.
Запустить программу.
Слайд 26

Создание программы на Java Варианты работы: Использовать JDK вместе с текстовым

Создание программы на Java

Варианты работы:
Использовать JDK вместе с текстовым редактором.

Компиляция и запуск программы на выполнение производится из командной строки.
Использовать IDE, например NetBeans или Eclipse.
Использовать JDK и текстовый редактор, интегрированный вместе с этим пакетом, например, JEdit. Компиляция и запуск на выполне­ние программ производятся внутри редактора.
Слайд 27

Средства разработки приложений

Средства разработки приложений

Слайд 28

Создание простого Java-приложения

Создание простого Java-приложения

Слайд 29

Компиляция и выполнение программы Компиляция TestGreeting.java: javac TestGreeting.java Greeting.java компилируется автоматически.

Компиляция и выполнение программы

Компиляция TestGreeting.java:
javac TestGreeting.java
Greeting.java компилируется автоматически.
Запуск приложения:
java TestGreeting
Устранение ошибок

компиляции и времени выполнения (compile and runtime errors).
Слайд 30

Java Technology Runtime Environment

Java Technology Runtime Environment

Слайд 31

Ошибки при компиляции Compile-Time Errors

Ошибки при компиляции Compile-Time Errors

Слайд 32

Ошибки времени выполнения Runtime Errors Can’t find class TestGreeting Exception in thread "main" java.lang.NoSuchMethodError: main

Ошибки времени выполнения Runtime Errors

Can’t find class TestGreeting
Exception in thread "main" java.lang.NoSuchMethodError: main

Слайд 33

Тест Java платформа, предназначенная для разработки приложений для устройств ограниченных в

Тест

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

(ограниченная вычислительная мощность, объём памяти, малый размер дисплея, питание от портативной батареи, низкоскоростные и недостаточно надёжные коммуникационные возможности)
Java SE JDK
Java ES SDK
Java EE SDK
Java ME SDK
Слайд 34

Интегрированная среда разработки (integrated development environment - IDE) - это инструмент

Интегрированная среда разработки (integrated development environment - IDE) - это инструмент

который помогает в разработке Java приложений.
Бесплатные IDEs:
NetBeans IDE - Oracle
JDeveloper - Oracle
Eclipse – IBM
Платные IDE:
IntelliJ IDEA - JetBrains
Преимущества IDE:
Полная интеграция
Простота развертывания
Смарт-редактор
Простая разработка проекта
Встроенное управления исходным кодом

Использование интегрированной среды разработки

Слайд 35

Загрузка IDE NetBeans Доступна бесплатно на NetBeans.org или Oracle.com

Загрузка IDE NetBeans

Доступна бесплатно на NetBeans.org или Oracle.com

Слайд 36

NetBeans IDE and New Project Wizard

NetBeans IDE and New Project Wizard