Платформа Java SE: введение Андрей Дмитриев
Программа Платформа JavaSE. Язык Java. С чего начать? Вопросы и ответы.
Платформа Java SE Почему платформа? Варианты исполнения: –Java SE –Java EE –Java ME Операционные системы: –Windows –Linux –Solaris –MacOS –и др.
Разработка Java программы Что значит, что Java – интерпретируемый язык?
Язык Java Простой Объектно-ориентированный Распределенный Интерпретируемый Надежный Безопасный Архитектурно-нейтральный Переносимый Многопоточный
Платформа Java Средства разработки существуют для большинства аппаратных платформ. Виртуальная машина Java (Java Virtual Machine, JVM) гарантирует единообразие интерфейса с операционной системой. Переносимость: «Write once, run everywhere». Поставляется с богатой библиотекой классов JDK (Java Development Kit). JRE (Java Runtime Environment) – среда, позволяющая запустить программу, написанную на языке Java.
Общий вид платформы Java SE
Отличия от С++ Перегрузка операторов Множественное наследование Автоматическое согласование типов Адресная арифметика Деструкторы … Google: java c++ differences
Переносимый код Java Программы распространяются в виде класс- файлов или jar-пакетов. Класс-файл содержит промежуточный код (байт-код). Байт-код – это набор данных и последовательность инструкций для виртуальной машины Java. Класс-файлы выполняются виртуальной машиной (JVM). Структура класс-файлов может меняться параллельно с изменениями в JVM.
Инструментарий Утилита для создания дистрибутивов Java программ. jar Дизассемблер javap утилита создания заголовочные файлов для интеграции. javah Утилита формирования стандартной документации JavaDoc. javadoc Интерпретатор байт-кода. Запускает класс на выполнение. java Компилятор языка Java. Преобразует исходный код в промежуточный байт-код. javac В состав JDK входит набор утилит для создания Java приложений.
Среда разработки Среда разработки предлагает редактор, компилятор и набор вспомогательных программ, упрощающих разработку ПО. Eclipse NetBeans IntelliJ Idea JBuilder, CodeGear
Создание и запуск приложения Исходный код Java Компилятор Java Объектный код Java (байт-код) JVM Интепретатор Java ОС Объектный код проверяется и загружается в виртуальную машину Java Программа выполняется интерпретатором Интерпретатор взаимодействует с ОС конкретной машины
В текстовом редакторе создать файл с исходным кодом программы на языке Java: Hello.java Скомпилировать исходный код в промежуточный код командой javac Hello.java В результате получится файл Hello.class Запустить приложение командой java Hello public class Hello { public static void main(String args[]){ System.out.println("Hello"); } Создание и запуск приложения (cont.)
Если запускаемый класс принадлежит именованному пакету (пространство имен, которому принадлежит класс, package), например, то... package testpackage; public class Hello { public static void main(String args[]){ System.out.println("Hello"); }
Создание и запуск приложения (cont.)...то скомпилированный класс необходимо поместить в папку, имя которой совпадает с именем указанного в классе пакета (если пакеты вложены друг в друга, то в несколько вложенных каталогов). Запуск программы командой: java testpackage.Hello
Типы приложений Самостоятельное приложение работает под управлением виртуальной машины Сюда же: jnlp протокол Аплет встраивается в другое приложение и находится с его адресном пространстве
Параметры компиляции Параметры компиляции можно изменять при помощи ключей компилятора javac: вывести версию компилятора-version дополнительные опции-X свойство, передаваемое в JVM. Виртуальная машина может изменять свое поведение в зависимости от переданных параметров. -J перечень разрешенных опций компилятора-help указать версию JVM, для которой создается класс-файл -target указать версию исходного кода-source указать путь, по которому можно найти классы, необходимые для запуска JVM -bootclasspath указать путь, по которому можно найти классы, необходимые для компиляции (переменная CLASSPATH) -cp –classpath
Параметры запуска загрузка отладочного агента-agentlib расширенные параметры-X выбор клиентской или серверной модификаций JVM -client/-server загрузка Java агента-javaagent установка системного свойства-D указание пути, по которому содержатся классы, необходимые для запуска -cp(-classpath) Параметры исполнения можно изменять при помощи ключей интерпретатора, передаваемых java:
Исполняемые пакеты Запуск приложения, запакованного в jar файл: jar cf Hello.jar Hello.class Hello.java Классы можно объединять в jar-пакеты. Запуск программы из такого пакета происходит быстрее. Пакет может содержать ресурсы для приложения. Создание архива утилитой jar: java –jar Hello.jar
Avia Fligh Path tool
Правда ли что… Формат class-файла неизменен? Программа на языке Java будет работать на всех машинах, снабженных JDK? С помощью JRE невозможно написать и запустить программу на Java? Утилита jar использует тот же алгоритм компрессии что и zip? Программа на Java сначала компилируется, а потом интерпретируется?
С чего начать? Домашняя страница Java: – Java JDK 6: – Java Tutorial: – Java API: – Форум: – Статистика использования языков: –
Questions & Answers Q UESTIONS A NSWERS &