Session_TP_01_rus.ppt
- Количество слайдов: 52
Занятие 1 Введение в язык программирования Java
Цели n n n n n Описать историю языка Java Кратко объяснить, что такое Java Перечислить типы программ Java Перечислить возможности Java Объяснить различие между апплетами и приложениями Описать виртуальную машину Java Virtual Machine (JVM) Перечислить функциональные возможности некоторых сред разработки (IDE) Ознакомиться с пакетом JDK и содержащимися в нём средствами Проанализировать перспективные пути развития и технологии Java Simplified / Session 1 / 2 of 32
Введение в язык программирования Java n n n В 1990 г. фирма Sun Microsystems начали разработки языка ‘Oak’ 1994 г. – Sun выпустила браузер Hot. Java. Вопросы переносимости и независимости от платформы являлись главными проблемами для пользователей Интернета. В 1995 г. язык был переименован в Java, являясь безопасным, переносимым и независимым от платформы языком, продемонстрировал способность решать крупномасштабные проблемы во всей сети Интернет. Java Simplified / Session 1 / 3 of 32
Что такое Java? n n n Объектно-ориентированный язык программирования (компилируемый и интерпретируемый). Его преимущество для пользователей World Wide Web заключается в появлении безопасных, платформонезависимых приложений, которые могут использоваться в любом узле Internet. Программисты, создающие приложения на Java, пишут свой код всего один раз - им не приходится «переносить» свои приложения на все возможные программные и аппаратные платформы. Java Simplified / Session 1 / 4 of 32
Что такое Java? Сначала Java (официальный день рождения технологии Java — 23 мая 1995 г. ) предназначалась для программирования бытовых электронных устройств (Представлен фирмой Sun Microsystems) Потом Java стала применяться для программирования браузеров - появились апплеты. Затем оказалось, что на Java можно создавать полноценные приложения. Java Simplified / Session 1 / 5 of 32
История Java Далее появились сервлеты и EJB (Enterprise Java. Beans). Серверы должны взаимодействовать с базами данных — появились драйверы JDBC (Java Data. Base Connection). Взаимодействие оказалось удачным, и многие системы управления базами данных и даже операционные системы включили, Java в свое ядро, например Oracle, Linux, Mac. OS. Java Simplified / Session 1 / 6 of 32
Java и сеть Интернет n n n Многие рассматривают Java в первую очередь как средство создания апплетов для World Wide Web. Термином «апплет» в Java обозначается миниприложение, работающее внутри Web-страницы. После того как апплет загружен на компьютер пользователя, он может выполнять определенные задачи и взаимодействовать с пользователем через браузер, не требуя ресурсов Web-сервера. Java Simplified / Session 1 / 7 of 32
Java и сеть Интернет n n Программы в сети являются либо статическими, либо динамическими. Апплеты помогают разрабатывать динамические программы. Апплеты работают в web-браузерах, совместимых с Java. Апплеты могут активно реагировать ( «отвечать» ) на действия пользователя и вводимые им данные. Java Simplified / Session 1 / 8 of 32
Вопросы безопасности n n n Апплет должен быть загружен в системе пользователя, прежде чем он сможет начать работу. Это создаёт потенциальный риск для системы пользователя. Поэтому апплетам запрещён доступ ко всем разделам жёсткого диска. Java Simplified / Session 1 / 9 of 32
Мобильность Java n Независимость от платформы означает легкость переноса программы с одного компьютера на другой без каких-либо трудностей. Java Simplified / Session 1 / 10 of 32
Мобильность Java n n n Программа на языке Java компилируется в двоичный модуль, состоящий из команд виртуального процессора Java. Такой модуль содержит байт-код, предназначенный для выполнения Javaинтерпретатором. На каждой платформе используется свой интерпретатор, или, точнее говоря, свой виртуальный процессор Java Simplified / Session 1 / 11 of 32
Мобильность Java n Таким образом, приложение Java компилируется и отлаживается только один раз. n Приложение Java не обращается напрямую к интерфейсу операционной системы. Вместо этого оно пользуется готовыми стандартными библиотеками классов, содержащими все необходимое для организации пользовательского интерфейса. Внутренняя реализация библиотек классов, разумеется, зависит от платформы. Все загрузочные модули, реализующие возможности этих библиотек, поставляются в готовом виде вместе с виртуальной машиной Java Simplified / Session 1 / 12 of 32
Выполнение Java-программы n n Программа, написанная на одном из языков высокого уровня, к которым относится и язык Java, так называемый исходный модуль, не может быть сразу же выполнена. Ее сначала надо откомпилировать, т. е. перевести в последовательность машинных команд — объектный модуль. Но и он, как правило, не может быть сразу же выполнен: объектный модуль надо еще скомпоновать с библиотеками использованных в модуле функций и разрешить перекрестные ссылки между секциями объектного модуля, получив в результате загрузочный модуль — полностью готовую к выполнению программу. Исходный модуль, написанный на Java, не может избежать этих процедур, но здесь проявляется главная особенность технологии Java — программа компилируется сразу в машинные команды, но не команды какого-то конкретного процессора, а в команды так называемой виртуальной машины Java (JVM, Java Virtual Machine). Java Simplified / Session 1 / 13 of 32
Виртуальная машина Java n n Виртуальная машина Java — это совокупность команд вместе с системой их выполнения. Виртуальная машина Java полностью стековая, так что не требуется сложная адресация ячеек памяти и большое количество регистров. Поэтому команды JVM короткие, большинство из них имеет длину 1 байт, отчего команды JVM называют байт-кодами (bytecodes). Полное описание команд и всей архитектуры JVM содержится в спецификации виртуальной машины Java (VMS, Virtual Machine Specification). Другая особенность Java — все стандартные функции, вызываемые в программе, подключаются к ней только на этапе выполнения, а не включаются в байт-коды. Происходит динамическая компоновка (dynamic binding). Это тоже сильно уменьшает объем откомпилированной программы. Java Simplified / Session 1 / 14 of 32
Виртуальная машина Java Virtual Machine (JVM) n n n Содержит компонент интерпретатор, который позволяет осуществлять обмен информацией между байт-кодом Java и операционной системой компьютера. Код Java может выполняться на любой платформе с помощью виртуальной машины JVM. Обычно JVM считывает и выполняет инструкции Java по одной. Виртуальная машина JVM отвечает за обеспечение независимости от платформы и за компактность скомпилированного кода. Распознаёт только специальный бинарный формат, называемый файлом класса (class-файл). Java Simplified / Session 1 / 15 of 32
Выполнение программы Java Simplified / Session 1 / 16 of 32
Типы Java-программ n Applets - Апплеты n Программы, созданные специально для работы в сети Internet Вывод изображений Интерфейс GUI для приёма ввода пользователя Java Simplified / Session 1 / 17 of 32
Типы Java-программ n Консольные приложения n Java-программы, которые запускаются из командной строки, и не выводят GUI-окон и панелей Java Simplified / Session 1 / 18 of 32
Типы Java-программ n GUI-приложения: Java-программы, которые запускаются и работают независимо и принимают ввод пользователя с использованием средств графического интерфейса GUI (окна, панели и т. д. ). Java Simplified / Session 1 / 19 of 32
Типы Java-программ n Servlets - Сервлеты n n n Предназначены для web-ориентированной разработки n-звенных приложений. Клиент посылает запрос, который обрабатывается сервером. Программные интерфейсы API стороны сервера расширяют возможности стандартных интерфейсов API и известны под названием Servlets (Сервлеты). Также их называют апплетами стороны сервера. Пример – Обработка HTML-формы, обработка баз данных и выполнение транзакций на стороне сервера. Java Simplified / Session 1 / 20 of 32
Типы Java-программ n Packages - Пакеты n n Библиотеки классов языка Java Программисты могут создавать собственные пакеты или использовать встроенные пакеты n n java. awt, java. io и java. applet являются примерами пакетов Приложения баз данных n Используют интерфейс JDBC API для соединения с базами данных. Java Simplified / Session 1 / 21 of 32
Различия между апплетами и приложениями Апплеты Приложения n n Для выполнения не требуется браузер Выполняются под управлением виртуальной машины JVM n n Выполняются в java- совместимом web- браузере Апплеты загружаются и выполняются в webбраузере, поддерживающем Java Simplified / Session 1 / 22 of 32
Различия между апплетами и приложениями Апплеты Приложения n Управляют собственным потоком выполнения n n n Отсутствуют ограничения на чтение или запись в локальной файловой системе Поток выполнения частично управляется контекстом браузера Операции чтения/записи в локальной файловой системе запрещены Java Simplified / Session 1 / 23 of 32
Сходство апплетов и приложений n n Оба требуют использования стандартных библиотек классов Java. Оба могут использовать пакет Abstract Windowing Toolkit (AWT). Java Simplified / Session 1 / 24 of 32
Средства визуальной разработки n n Помогают быстро и эффективно разрабатывать приложения и апплеты на языке Java. Упрощают процесс разработки ПО. Включают браузер классов для просмотра и перемещения по иерархии классов. Включают редактор исходного кода, который помогает при написании кода программ. Java Simplified / Session 1 / 25 of 32
Некоторые средства визуальной разработки n Visual Age for Java фирмы IBM n n Borland Jbuilder фирмы Borland/Inprise n n Работает с существующими базами данных, приложениями и транзакциями Включает интегрированный редактор, отладчик, компилятор, визуальное средство проектирования, набор мастеров и примеров приложений Forte for Java, Community Edition фирмы Sun Microsystems n Интегрированная среда, предоставляющая возможности визуального проектирования, редактирования, компиляции и отладки для создания апплетов и приложений Java Simplified / Session 1 / 26 of 32
Java Development Kit (JDK) n n Содержит программное обеспечение и инструментальные средства, необходимые для компиляции, отладки и выполнения апплетов и приложений Три основные версии: n n n Java 1. 0 – первый выпуск Java 1. 1 – выпуск 1997 года Java 1. 4. 2 – самый распространенный выпуск Java 1. 7 – самый последний выпуск Доступны для бесплатного копирования с официального сайта компании Sun www. sun. java. com Java Simplified / Session 1 / 27 of 32
Java Development Kit (JDK) n n JDK (Java Development Kit) – набор необходимых программных инструментов для полного цикла работы с этим языком программирования: компиляции, интерпретации, отладки, включающий и богатую библиотеку классов. Набор программ и классов JDK содержит: • компилятор javac из исходного текста в байт-коды; • интерпретатор java, содержащий реализацию JVM; • облегченный интерпретатор jre (в последних версиях отсутствует); • программу просмотра апплетов appletviewer, заменяющую браузер; • программу архивации и сжатия jar; • программу сбора документации javadoc; • программу serialver, определяющую номер версии класса; • библиотеки и заголовочные файлы "родных" методов; • библиотеку классов Java API (Application Programming Interface); • др. Java Simplified / Session 1 / 28 of 32
Средства в составе пакета JDK n javac: компилятор, используемый для компиляции исходного кода Java n Синтаксис: javac [option] source Файлы исходного кода имеют расширение. java n Ключи (опции) командной строки n javac My. Program. java Java Simplified / Session 1 / 29 of 32
Средства в составе пакета JDK (продолжение) n java: интерпретатор, используемый для выполнения байт-кода Java n n Синтаксис: java [option] classname [arguments] Ключи (опции) командной строки java My. Program Java Simplified / Session 1 / 30 of 32
Средства в составе пакета JDK (продолжение) n appletviewer: Используется для просмотра и тестирования апплетов n n Синтаксис: appletviewer [options] url javadoc: Документация по инструментальным средствам языка Java n Генерирует подробную документацию в формате HTML для любого исходного кода в . java–файле или в пакете Java Simplified / Session 1 / 31 of 32
Установка JDK Каталог с названием j 2 sdkl. 5. 0, а в нем подкаталоги: bin, содержащий исполнимые файлы; demo, содержащий примеры программ; docs, содержащий документацию, если вы ее установили; include, содержащий заголовочные файлы "родных" методов; jre, содержащий набор JRE; lib, содержащий библиотеки классов и файлы свойств; src, с исходными текстами программ JDK. В новых версиях вместо каталога имеется упакованный файл src. jar. Java Simplified / Session 1 / 32 of 32
Установка JDK Надо определить специальную переменную PATH, содержащую пути к архивным файлам и каталогам с библиотеками классов. Path= C: j 2 sdk 1. 4. 2_04bin Java Simplified / Session 1 / 33 of 32
Java Runtime Environment n n JRE (Java Runtime Environment) -набор программ и пакетов классов JRE содержит все необходимое для выполнения байт-кодов, в том числе интерпретатор java (в прежних версиях облегченнный интерпретатор jre) и библиотеку классов. Это часть JDK, не содержащая компиляторы, отладчики и другие средства разработки. Именно JRE или его аналог других фирм содержится в браузерах, умеющих выполнять программы на Java, операционных системах и системах управления базами данных. Java Simplified / Session 1 / 34 of 32
Документация Java API n n Документация API Java – полезный документ, описывающий особенности языка Java и содержащий справку о классах, пакетах, интерфейсах, методах и т. д. Есть два способа обращения к документации. 1. Скачать документацию с сайта Sun по адресу http: //java. sun. com/downloads/ 2. Работать с документацией непосредственно в Internet по адресу http: //java. sun. com/j 2 se/1. 5. 0/docs/api/ Java Simplified / Session 1 / 35 of 32
Документация Java API Java Simplified / Session 1 / 36 of 32
Java в Internet Разработки компании Sun n http: //www. sun. com/ - здесь все ссылки, отсюда можно скопировать JDK; n http: //java. sun. com/ - основной сайт Java, отсюда тоже можно скопировать JDK; n http: //developers. sun. com/ - масса полезных вещей для разработчика; n http: //ru. sun. com/- ресурсы и документации по Java на русском от SUN. Развитием технологии Java занимаются и другие крупнейшие компании: n http: //www. microsoft. com/java/ - сайт, на котором компания Microsoft содержит информацию о Java (на английском языке); n http: //www. oracle. com/ - сайт корпорации Oracle, которая вносит большой вклад в развитие технологии Java (на английском языке). Существует множество специализированных сайтов: n http: //www. developer. com/java/ - информация для разработчиков: архитектура, базы данных, безопасность, методы, рабочие места (на английском языке); n http: //www. juga. ru/ - русский сайт о Java: библиотека, форумы, каталог ссылок рейтинг программ и т. д. ; n http: //www. jug. ru/ - сайт сообщества пользователей Java (Java User Group): встречи пользователей, новости (на русском языке); n http: //www. artima. com/ - статьи, новости о Java, форум (на английском языке); n http: //www. freewarejava. com/ - отправная точка по Java-технологиям в сети Java Simplified / Session 1 / 37 of 32
Новые возможности Java 1. 4. 2 n Улучшены: n n n Скорость компиляции Операции деления целых чисел и чисел с плавающей точкой Предоставляется поддержка браузеров IE и Netscape по перенаправлению URLов Добавлен новый класс ввода/вывода Полностью исправлены ошибки, ранее обнаруженные в пакете AWT Java Simplified / Session 1 / 38 of 32
Современные технологии Java n n n Создание и развёртывание приложений, которые могут работать в любой операционной системе Поддержка распределённой обработки данных в форме таких функциональных возможностей. Поддержка управления базами данных в форме JDBC Программные компоненты многократного использования в форме Java. Beans. Новый класс, обеспечивающий полную поддержку колеса прокрутки мыши. Поддержка стандартного внешнего вида Microsoft Windows XP, принимаемого по умолчанию при работе на платформе Windows XP. Java Simplified / Session 1 / 39 of 32
Современные технологии Java (продолжение) n Корпоративная платформа Java 2 Enterprise Edition (J 2 EE) включает: Java Simplified / Session 1 / 40 of 32
Перспективы развития n n n Новые продукты в области технологий, встраиваемых в электронные устройства массового использования с целью обеспечения мобильной обработки данных. Миниатюрные устройства, такие как карманные компьютеры Palm pilots и мобильные телефоны, оснащаются такими функциями, как электронная почта, игровые и многи другие возможности. Всё это основано на платформе Java 2 Micro Edition (J 2 ME). Java Simplified / Session 1 / 41 of 32
Первая программа на Java n Реализация первой программы на языке Java выглядит следующим образом: class My. First. Programm { public static void main(String[] args) { System. out. println("My first Java programm!!"); } } Java Simplified / Session 1 / 42 of 32
Первая программа на Java n n n Всякая программа представляет собой один или несколько классов, в этом простейшем примере только один класс (class). Начало класса отмечается служебным словом class, за которым следует имя класса, выбираемое произвольно, в данном случае My. First. Programm. Все, что содержится в классе, записывается в фигурных скобках и составляет тело класса (class body). class My. First. Programm { …. } Java Simplified / Session 1 / 43 of 32
Первая программа на Java n n n Все действия производятся с помощью методов обработки информации, коротко говорят просто метод (method). Один из методов обязательно должен называться main, с него начинается выполнение программы. В нашей простейшей программе только один метод, а значит, имя ему main. Начало класса отмечается служебным словом class, за которым следует имя класса, выбираемое произвольно, в данном случае My. First. Programm. public static void main (String[] args) { … } Java Simplified / Session 1 / 44 of 32
Первая программа на Java n n После имени метода в скобках, через запятую, перечисляются аргументы (arguments) - или параметры метода. Для каждого аргумента указывается его тип и, через пробел, имя. В примере только один аргумент, его тип — массив, состоящий из строк символов. Имя массива может быть произвольным, в примере выбрано имя args. public static void main(String[] args) { } … Java Simplified / Session 1 / 45 of 32
Первая программа на Java n n n Перед типом возвращаемого методом значения могут быть записаны модификаторы (modifiers). В примере их два: слово public означает, что этот метод доступен отовсюду; слово static обеспечивает возможность вызова метода main() в самом начале выполнения программы. Модификаторы вообще необязательны, но для метода main() они необходимы. public static void main(String[] args) { } … Java Simplified / Session 1 / 46 of 32
Первая программа на Java n n Единственное действие, которое выполняет метод main() в примере, заключается в вызове другого метода со сложным именем System. out. println и передаче ему на обработку одного аргумента, текстовой константы "My first Java programm!!". Текстовые константы записываются в кавычках, которые являются только ограничителями и не входят в состав текста. System. out. println("My first Java programm!!"); Java Simplified / Session 1 / 47 of 32
Первая программа на Java n n Составное имя System. out. println означает, что в классе System, входящем в Java API, определяется переменная с именем out, содержащая экземпляры одного из классов Java API, класса Print. Stream, в котором есть метод println(). Действие метода println() заключается в выводе своего аргумента в выходной поток, связанный обычно с выводом на экран текстового терминала, в окно MS-DOS Prompt или Command Prompt или Xterm, в зависимости от системы. System. out. println("My first Java programm!!"); Java Simplified / Session 1 / 48 of 32
Первая программа на Java n n n Язык Java различает строчные и прописные буквы, имена main, MAIN различны с "точки зрения" компилятора Java. В примере важно писать String, System с заглавной буквы, a main с маленькой. Но внутри текстовой константы неважно, писать "MY FIRST JAVA PROGRAMM!!" или "My First Java Programm!!", разница будет видна только на экране. System. out. println("My first Java programm!!"); Java Simplified / Session 1 / 49 of 32
Выполнение программы n n Программа написана в каком-либо текстовом редакторе, например, Notepad. Теперь ее надо сохранить в файле, имя которого совпадает с именем класса, содержащего метод main(), и дать имени файла расширение java. My. First. Programm. java Java Simplified / Session 1 / 50 of 32
Выполнение программы Затем вызовем компилятор, передавая ему имя файла в качестве аргумента: javac My. First. Programm. java n Компилятор создаст файл с байт-кодами, даст ему имя My. First. Programm. class и запишет этот файл в текущий каталог. n Вызов интерпретатора: java My. First. Programm n Java Simplified / Session 1 / 51 of 32
Результат выполнения Java Simplified / Session 1 / 52 of 32