Введение в Java технологии. Простота. Объектная ориентированность. Устойчивость. Многопоточность
Введение в 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-программе все ошибки времени выполнения могут – и должны – управляться самой программой. Многопоточность Язык Java был разработан в ответ на потребность создания интерактивных сетевых программ. Для достижения этой цели Java поддерживает написание многопоточных программ, которые могут одновременно выполнять много действий. Система времени выполнения Java содержит изящное, но вместе с тем сложное решение задачи синхронизации множества процессов, которое позволяет создавать действующие без перебоев интерактивные системы. Простой в применении подход к организации многопоточной обработки, реализованный в Java, позволяет программисту сосредоточивать свое внимание на конкретном поведении программы, а не на создании многозадачной подсистемы.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|