- •Краткая историческая справка.
- •Преимущества языка Java.
- •Недостатки java:
- •Лекция 2. Этапы разработки java-приложений. Этапы разработки java-приложений.
- •Установка jdk.
- •Инсталляция исходных кодов библиотек
- •Инсталляция пакета документации.
- •Тестирование правильности установки и создание простейшей программы
- •Визуальные среды программирования.
- •Лекция 3. Переменные и типы данных. Переменные и типы данных.
- •Подробности о примитивных типах.
- •Лекция 4. Операторы и функции. Операторы и функции.
- •Операторы ветвлений и циклов.
- •Оператор цикла while.
- •Оператор цикла for.
- •Лекция 5. Объектно ориентированное программирование Объектно ориентированное программирование.
- •Определение объекта.
- •Инкапсуляция.
- •Наследование.
- •Полиморфизм (перегрузка).
- •Пример ооп – программы.
- •Отличие перегрузки функций от переопределения.
- •Отличие классов от интерфейсов.
- •Лекция 6. Массивы и строки. Массивы и строки.
- •Многомерные массивы.
- •Приведение типов и динамические массивы.
- •Строки в java.
- •Лекция 7. Организация ввода-вывода данных Организация ввода-вывода данных.
- •Функции стандартной библиотеки ввода/вывода.
- •Новая библиотека ввода/вывода.
- •Классы потокового ввода/вывода из пакета java.Io.
- •Лекция 8. Обработка исключений. Обработка исключений.
- •Классификация исключений.
- •Перехват исключений блоками try/catch.
- •Самостоятельное выбрасывание исключений.
- •Разработка собственных классов исключений.
- •Лекция 9. Потоки. Потоки.
- •1. Cпециальный класс Thread.
- •2. Реализация интерфейса Runnable.
- •Выбор между использованием класса Thread и интерфейса Runnable.
- •Синхронизация потоков с помощью оператора synchronized.
- •Синхронизация потоков с помощью семафоров.
- •Лекция 10. Подключаемые библиотеки java. Подключаемые библиотеки java.
- •Библиотека awt
- •Внутреннее устройство системы обработки событий awt.
- •Библиотека Swing.
Преимущества языка Java.
- JVM написаны под большинство имеющихся аппаратных платформ, поэтому программы на java могут быть запущены на великом множестве современных устройств от самых маленьких до самых больших.
- Java полностью объектный язык, что визуально упрощает чтение кода и отладку
- В языке java используется модель автоматической сборки мусора. Программы на java практически не подвержены проблемам «утечки памяти».
- Для java разработано огромное количество разнообразных библиотек, поэтому программисту достаточно редко приходится писать низкоуровневый функционал самому. Практически на любую задачу обязательно найдется какая-нибудь готовая библиотека, которую можно легко подключить и использовать.
- В языке java очень хорошо реализован механизм работы с потоками, что упрощает разработку многопоточных приложений. Библиотеки работы с потоками относятся к базовым встроенным возможностям языка и не требуют никаких особых усилий для установки.
Недостатки java:
- Для каждой новой аппаратной платформы необходима разработка JVM. Сам код виртуальной машины достаточно объемный и обычным пользователям бывает довольно непросто понять, для чего нужно пожертвовать парой сотен мегабайт драгоценного места на системном диске, на котором свободное место (особенно на небольших устройствах) всегда бывает в большом дефиците.
Если для какой-то платформы отсутствует готовая JVM, использовать на ней java – программы становится невозможно.
- Большое количество разработанных библиотек означает, что существуют тысячи малоизученных функций и огромный объем кода, написанного непонятно кем.
И хотя для использования этих функций, вникать в их исходный код и изучать особенности функционирования совсем не обязательно, все же очевидно, что объем знаний, который необходим java – разработчику, чтобы использовать все это богатство, становится достаточно велик. Это ведет к дополнительным затратам времени и ресурсов на обучение.
Лекция 2. Этапы разработки java-приложений. Этапы разработки java-приложений.
Технологии java. JDK, SRE, JVM, Javac. Запуск java – приложений.
Обычно процесс подготовки программы к выполнению включает несколько стандартных этапов.
На первом этапе текст программы, содержащийся в исходнике компилируется в так называемый объектный модуль, который содержит последовательность машинных команд, но он еще не может запускаться на выполнение, потому, что в объектном модуле отсутствуют ссылки на внешние библиотеки функций, а также отсутствуют перекрестные ссылки между секциями из которых он состоит.
На втором этапе программа – компоновщик добавляет перекрестные ссылки и ссылки между секциями и тем самым из объектного модуля создает работоспособный загрузочный модуль, который уже может непосредственно запускаться на выполнение.
Если речь идет о программе, написанной на Java, то здесь программа сразу компилируется в обобщенные инструкции так называемой виртуальной машины Java (JVM), которая представляет собой по сути контейнер, который сам по себе является средой выполнения для кода программы и содержит инструкции для интерпретации обобщенных команд.
Эти обобщенные команды обычно короткие, в среднем по 1-2 байта, поэтому команды JVM называются байт-кодами.
Поскольку JVM является виртуальной средой для программы, обеспечивать сложную адресацию памяти нет необходимости. Также не возникает надобности в специальном вычислении ссылок, следовательно и этап линковки, который применяется для сборки загрузочного модуля программ на других языках, тоже отпадает.
Полное описание архитектуры JVM и всех используемых в ней команд, содержится в спецификациях виртуальной машины (Virtual Machine Specification, VMS), которые можно скачать с официального сайта Оракл.
Байт – коды могут непосредственно выполняться на любой JVM а также на любой аппаратной платформе, для которой написана соответствующая JVM. Кроме того в настоящее время уже разработана целая линейка процессоров, которые на аппаратном уровне оптимизированы под выполнение байт – кода, имеют соответствующий набор процессорных команд и, таким образом, необходимости в написании JVM для таких процессоров уже нет. Но в любом случае JVM уже реализованы практически для всех существующих платформ. Вдобавок производители уже встроили свои реализации JVM во все современные браузеры, многие операционные системы, СУБД и т.д.
Компания Oracle, которая является нынешним правообладателем технологии Java, свободно распространяет все необходимые инструменты для разработки программ на этом языке и этот набор разработчика называется JDK (Java Development Kit).
Последнюю версию JDK можно легко найти на официальном сайте:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
В состав пакета JDK входит:
- компилятор исходных текстов программ в байт-код javac;
- сама JVM, то есть программа – интерпретатор байт-кодов;
- отладчик программ jdb;
- программа – просмотрщик апплетов appletviewer
- программа автоматической генерации документации javadoc;
- каталог с документацией по всем исходным кодам docs
- библиотеки и заголовочные файлы для функций, встроенных в java;
- библиотека классов Java API (Application Programming Interface) ;
А также некоторые другие полезные разработчику модули.
В частности в каждый JDK входит набор программ и классов JRE (Sun Java Runtime Environment, SRE), которые являются полной реализацией JVM, но без средств компиляции и отладки программ. То есть – это чистая виртуальная машина Java, которая может быть полезна тем пользователям, которые собираются только выполнять код Java, а не писать его. Кроме того JRE можно скачать с сайта Оракл отдельно от JDK.
