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