АБОБА. Справочник по программированию на Java Методическое пособие
Скачать 242.41 Kb.
|
Введение в Java технологииОсновные факторы, обусловившие изобретение языка Java – необходимость обеспечения переносимости и безопасности, другие факторы также сыграли свою роль в формировании окончательной версии языка. Группа разработки Java обобщила основные понятия в следующем перечне терминов: простота; безопасность; переносимость; объектная ориентированность; устойчивость; многопоточность; архитектурная нейтральность; интерпретируемость; высокая производительность; распределенность; динамический характер. Рассмотрим значения этих терминов. ПростотаJava был задуман в качестве простого в изучении и эффективного в использовании профессиональными программистами языка. Для тех, кто обладает определенным опытом программирования, овладение языком Java не представит особой сложности. Если же вы уже знакомы с базовыми концепциями объектно-ориентированного программирования, изучение Java будет еще проще. А для опытного программиста на C++ переход к Java вообще потребует минимум усилий. Поскольку Java наследует синтаксис C/C++ и многие объектно-ориентированные свойства C++, для большинства программистов изучение Java не представит сложности. Объектная ориентированностьХотя предшественники языка Java и оказали влияние на его архитектуру и синтаксис, при его проектировании задача совместимости по исходному коду с каким-либо другим языком не ставилась. Это позволило группе разработки Java выполнять проектирование, что называется, с чистого листа. Одним из следствий этого явился четкий, практичный, прагматичный подход к объектам. Притом что Java позаимствовал свойства многих удачных объектно-программных сред, разработанных на протяжении нескольких последних десятилетий, в нем удалось достичь баланса между строгим соблюдением концепции “все компоненты программы – объекты” и более прагматичной моделью “прочь с дороги”. Объектная модель Java проста и легко расширяема. В то же время примитивные типы, такие как целые числа, сохраняются в виде высокопроизводительных компонентов, не являющихся объектами. УстойчивостьМногоплатформенная среда Web предъявляет к программам повышенные требования, поскольку они должны надежно выполняться в разнообразных системах. Поэтому способность создавать устойчивые программы была одним из главных приоритетов при проектировании Java. Для обеспечения надежности Java накладывает ряд ограничений в нескольких наиболее важных областях, что вынуждает программиста выявлять ошибки на ранних этапах разработки программы. В то же время Java избавляет от беспокойства по поводу многих наиболее часто встречающихся ошибок программирования. Поскольку Java – строго типизированный язык, проверка кода выполняется во время компиляции. Однако проверка кода осуществляется и во время выполнения. В результате многие трудно обнаруживаемые программные ошибки, которые часто ведут к возникновению трудновоспроизводимых ситуаций времени выполнения, в Java-программе попросту невозможны. Предсказуемость кода в различных ситуациях – одна из основных особенностей Java. Чтобы понять, чем достигается устойчивость Java-программ, рассмотрим две основных причины программных сбоев: ошибки управления памятью и неправильная обработка исключений (т.е. ошибки времени выполнения). В традиционных средах создания программ управление памятью – сложная и трудоемкая задача. Например, в среде C/C++ программист должен вручную резервировать и освобождать всю динамически распределяемую память. Иногда это ведет к возникновению проблем, поскольку программисты либо забывают освободить ранее зарезервированную память, либо, что еще хуже, пытаются освободить участок памяти, все еще используемый другой частью кода. Java полностью исключает такие ситуации, автоматически управляя резервированием и освобождением памяти. (Фактически, освобождение выполняется полностью автоматически, поскольку Java предоставляет функцию сборки мусора в отношении неиспользуемых объектов.) В традиционных средах условия исключений часто возникают в таких ситуациях, как деление на ноль или “файл не найден”, и управление ими должно осуществляться с помощью громоздких и трудных для понимания конструкций. Java облегчает выполнение той задачи, предлагая объектно-ориентированный механизм обработки исключений. В хорошо написанной Java-программе все ошибки времени выполнения могут – и должны – управляться самой программой. |