Программирование на JAVA

Навигация

Лекция 1. Что такое Java? История создания

Лекция 2. Основы объектно-ориентированного программирования

Лекция 3. Лексика языка

Лекция 4. Типы данных

Лекция 5. Имена. Пакеты

Лекция 6. Объявление классов

Лекция 7. Преобразование типов

Лекция 8. Объектная модель в Java

Лекция 9. Массивы

Лекция 10. Операторы и структура кода. Исключения

Лекция 11. Пакет java.awt

Лекция 12. Потоки выполнения. Синхронизация

Лекция 13. Пакет java.lang

Лекция 14. Пакет java.util

Лекция 15. Пакет java.io

Лекция 16. Введение в сетевые протоколы

При работе любой виртуальной машины Java действует целый комплекс мер. Далее приводится лишь краткое опи­сание некоторых из них.

Во-первых, это правила работы с памятью. Уже говорилось, что очи­стка памяти производится автоматически. Резервирование ее также опре­деляется JVM, а не компилятором, или явным образом из программы, раз­работчик может лишь указать, что он хочет создать еще один новый объект. Указатели по физическим адресам отсутствуют принципиально.

Во-вторых, наличие виртуальной машины-интерпретатора значи­тельно облегчает отсечение опасного кода на каждом этапе работы. Снача­ла байт-код загружается в систему, как правило, в виде class-файлов. JVM тщательно проверяет, все ли они подчиняются общим правилам безопас­ности Java и не созданы ли злоумышленниками с помощью каких-то дру­гих средств (и не искажены ли при передаче). Затем во время исполнения программы интерпретатор легко может проверить каждое действие на до­пустимость. Возможности классов, которые были загружены с локального диска или по сети, существенно различаются (пользователь легко может назначать или отменять конкретные права). Например, апплет по умолча­нию никогда не получит доступ к локальной файловой системе. Такие встроенные ограничения есть во всех стандартных библиотеках Java.

Наконец, существует механизм подписания апплетов и других при­ложений, загружаемых по сети. Специальный сертификат гарантирует, что пользователь получил код именно в том виде, в каком его выпустил производитель. Это, конечно, не дает дополнительных средств защиты, но позволяет клиенту либо отказаться от работы с приложениями нена­дежных производителей, либо сразу увидеть, что в программу внесены неавторизованные изменения. В худшем случае он знает, кто ответстве­нен за причиненный ущерб.

Совокупность описанных свойств Java позволяет утверждать, что язык весьма приспособлен для разработки Internet- и интранет (внутрен­ние сети корпораций)-приложений.

Наконец, важная отличительная особенность Java - это его дина­мичность. Язык очень удачно задуман, в его развитии участвуют сотни тысяч разработчиков и многие крупные компании. Основные этапы это­го развития кратко освещены в следующем разделе.

Итак, подведем итоги. Java-платформа обладает следующими пре­имуществами: