Презентация "Введение в технологию Java"
Подписи к слайдам:
Модуль 1
Типы приложений Java SE /EE
- Введение в технологию Java
- <number>
- Герберт Шилдт. Java. Полное руководство, М.: Вильямс, 2012. – 1104 с.
- Кей С. Хорстманн, Гари Корнелл. Библиотека профессионала. Основы. Том 1 (Том 2). М.: Вильямс, 2010. – 816 c.
- Брюс Эккель. Философия Java. Библиотека программиста. СПб.: Питер, 2011. – 640 с.
- Берт Бэйтс, Кэтти Сьерра. Изучаем Java. Эксмо, 2012. – 720 с.
- Монахов В. Язык программирования Java и среда NetBeans. BHV-СПб, 2011. – 704 с.
- <number>
- Дополнительное ПО
- Firefox/Internet Explorer
- Java DB
- Компьютер класса
- Основное ПО
- JDK 7
- NetBeans 7
- Первая версия языка была официально опубликована в 1995 году
- Основная причина – потребность в независящем от платформы языке
- <number>
- Синтаксис операторов Java практически полностью совпадает с синтаксисом языка C++;
- Java не обладает совместимостью с C++;
- Java является гораздо более сильно типизированным по сравнению с C++;
- В отличие от C++, ни один из элементов спецификации Java не зависит от реализации. И размер основных типов данных, и арифметические операции над ними строго определены.
- <number>
- Повышение скорости разработки;
- Устранение ошибок других языков ;
- Переносимость кода;
- Многопоточность;
- Загрузка классов динамически, когда они на самом деле необходимы;
- Поддержка изменения программы динамически во время выполнения загрузки классов из разных источников;
- Обеспечение более высокого уровня безопасности.
- <number>
- The Java Virtual Machine (JVM™)
- программы, написанные на языке Java, выполняются под управлением специальной программы – виртуальной Java-машины
- Garbage collection
- сборщик мусора
- The Java Runtime Environment (JRE)
- JVM tool interface
- <number>
- Java Virtual Machine (JVM) – программа виртуальной Java-машины, скомпилированная в коды соответствующего процессора – система времени выполнения Java;
- Взаимодействует с операционной системой, обеспечивая доступ к файлам или поддержку графики;
- Исполняет байт-код;
- Обеспечивает автоматическое высвобождение памяти, занятой ненужными объектами (сборка мусора).
- <number>
- <number>
- <number>
- Java Runtime Environment (сокр. JRE) — минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений, без компилятора и других средств разработки. Состоит из виртуальной машины — Java Virtual Machine и библиотеки Java-классов.
- Загружает код (Loads code)
- Проверяет код (Verifies code)
- Выполняет код (Executes code)
- <number>
- Загружает все классы, необходимые для выполнения программы.
- Сохраняет классы локальной файловой системы в отдельных пространствах имен (namespaces).
- Предотвращает подмену (spoofing).
- <number>
- Проверка гарантирует, что:
- Код соблюдает спецификацию JVM.
- Код не нарушает целостность системы (system integrity).
- Код не вызывает переполнения стека (stack overflows) или недостаточного расхода (underflows).
- Типы параметров для всех выражений кода являются корректными.
- Нет не правильных преобразований данных (преобразования целых чисел к указателям).
- <number>
- <number>
- JIT-компиляция (Just-In-Time) – компиляция "по ходу дела", "налету"
- <number>
- Существует два основных способа установки Java-машины на клиентский компьютер:
- JRE из поставки Software Development Kit (SDK) - Комплекта разработки программного обеспечения.
- Специализированный вариант JRE в составе Интернет-браузера, называющийся Java plugin.
- Комплект последних версий SDK можно свободно загружать с сайта
- http://www.oracle.com/technetwork/java/javase/downloads/(jre7-downloads-1880261.html)
- <number>
- 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 изменен байткод, требования к исполняющей платформе, состав стандартных библиотек..
- <number>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Приложение (application) – аналог "обычной" прикладной программы.
- Апплет (applet) – специализированная программа с ограниченными возможностями, работающая в окне WWW-документа под управлением браузера.
- Сервлет (servlet) - специализированная программа с ограниченными возможностями, работающая в WWW на стороне сервера. Используется в технологии JSP (Java Server Pages) для программирования WWW-документов на стороне сервера.
- Серверное приложение (Enterprise application) – предназначено для использования на стороне сервера.
- Библиотека (Java Class Library)
- <number>
- Скопировать и установить 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 в файловой системе
- <number>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Mobile & Embedded
- The Java Community
- Сообщество работает на основании набора документов и процедур JSR (Java Specification Request):
- Запрос (Предлагаемая спецификация свободно принимается на рассмотрение членами сообщества, присваивается номер);
- Черновик спецификации (первый черновик спецификации выносится на рассмотрение Исполнительного Комитета и членов сообщества, решение о продолжении или доработке);
- Открытый черновик (черновик спецификации в свободном доступе, доработка, голосование Исполнительного Комитета для окончательного утверждения. Эталонная реализация и набор автоматических тестов);
- Поддержка (доработка, уточнение или расширение эталонной реализации и набора тестов по мере поступления запросов).
- Java Community Process (JCP) — сформированный в 1998 году формальный процесс, который позволяет заинтересованным лицам участвовать в формировании будущих версий спецификаций платформ языка Java.
- http://jcp.org
- OpenJDK - проект по созданию полностью совместимого Java Development Kit, состоящего исключительно из свободного и открытого исходного кода.
- http://openjdk.java.net/
- Имеет лицензию свободно-распространяемого программного обеспечения (GNU GPL)
- Эталонная реализация JDK
- Реализует новые возможности языка
- Открыт для членов сообщества
- Базируется на Oracle JDK
- Написать программу на Java и сохранить ее на диск.
- Выполнить компиляцию программы, чтобы перевести ее с языка Java в специальный байт‐код, который понимает виртуальная машина JVM.
- Запустить программу.
- <number>
- Варианты работы:
- Использовать JDK вместе с текстовым редактором. Компиляция и запуск программы на выполнение производится из командной строки.
- Использовать IDE, например NetBeans или Eclipse.
- Использовать JDK и текстовый редактор, интегрированный вместе с этим пакетом, например, JEdit. Компиляция и запуск на выполнение программ производятся внутри редактора.
- <number>
|
|
|
|
|
|
|
|
|
|
|
|
- <number>
- <number>
- Компиляция TestGreeting.java:
- javac TestGreeting.java
- Greeting.java компилируется автоматически.
- Запуск приложения:
- java TestGreeting
- Устранение ошибок компиляции и времени выполнения (compile and runtime errors).
- <number>
- <number>
- <number>
- Can’t find class TestGreeting
- Exception in thread "main" java.lang.NoSuchMethodError: main
- <number>
- Java платформа, предназначенная для разработки приложений для устройств ограниченных в ресурсах (ограниченная вычислительная мощность, объём памяти, малый размер дисплея, питание от портативной батареи, низкоскоростные и недостаточно надёжные коммуникационные возможности)
- Java SE JDK
- Java ES SDK
- Java EE SDK
- Java ME SDK
- <number>
- Интегрированная среда разработки (integrated development environment - IDE) - это инструмент который помогает в разработке Java приложений.
- Бесплатные IDEs:
- NetBeans IDE - Oracle
- JDeveloper - Oracle
- Eclipse – IBM
- Платные IDE:
- IntelliJ IDEA - JetBrains
- Преимущества IDE:
- Полная интеграция
- Простота развертывания
- Смарт-редактор
- Простая разработка проекта
- Встроенное управления исходным кодом
- <number>
- Доступна бесплатно на NetBeans.org или Oracle.com
- <number>
- <number>
- Установка требуемого ПО
- Настройка переменных окружения для выполнения Java-программ
- Написание первой программы
- Компиляция, исправление ошибок, выполнение программы
- Работа в интегрированных средах разработки: NetBeans и Eclipse
- <number>