Лекции (989962), страница 50

Файл №989962 Лекции (Лекции) 50 страницаЛекции (989962) страница 502015-08-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 50)

Для преодоления этой проблемыJVM-машина дополняется ЛТ-компилятором (Just-in-Time) который читает байт-код и транслирует его вмашинно-зависимые команды. Таким образом, например, нет необходимости 100 раз интерпретироватьодни и те же команды цикла, т.к. они уже скомпилированы в машинно-зависимый код. В результате Javaпрограмма может работать почти с той же скоростью, что и машинно-зависимая программа на C++.2. Java — объектно-ориентированный языкЯзык Java является объектно-ориентированным и имеет много общего с языком C++. Как и любойобъектно-ориентированный язык, программа Java строится на иерархии объектов, которые представляют изсебя единство данных (свойств) и процедур работы с этими данными (методов).

Для упрощения языка, вJava не все данные являются объектами. Например, булевские типы, числа и другие простые типы данныхне есть объекты, хотя в языке все-таки имеются упакованные объекты для этих типов данных. В остальном,Java — строгий объектно-ориентированный язык: никакая объявляемая переменная или процедура не можетне входить в состав какого-либо объекта. Описание свойств и методов объекта называется классом. Объектысоздаются на основании классов. Классы могут наследовать свойства и методы других классов, например:"Все люди (класс) имеют возраст (свойство), футболисты – это порожденный класс от класса люди и онтакже наследует свойство возраст". В дополнение к наследованию, в порожденных объектах можно добавлять новые свойства и методы, а также модифицировать унаследованные, подменяя их своими методами исвойствами.

Можно создавать абстрактные классы – классы в которых объявлены методы, но не описана ихреализация (хотя бы одного). Задача описания реализации метода ложится на классы, порожденные от абстрактного, т.к. объект нельзя создать пока полностью не описаны все его свойства и методы. Java поддерживает только простое наследование, т.е. каждый класс в отдельный момент времени может порождатьсятолько от одного какого-либо класса (а не от нескольких, как при множественном наследовании). При такомподходе к наследованию устраняются проблемы с классом, порожденным от противоречивых или взаимоисключающих классов.

В компенсацию за отсутствие множественного наследования в Java можно создаватьсовершенно абстрактные классы, называемые интерфейсами (interface),которые позволяют описыватьметоды, разделяемые между несколькими классами. Интерфейсы могут содержать только свойстваконстанты и объявления методов, без описания их реализации. Объекты могут порождаться от любогоколичества интерфейсов. К примеру, существует интерфейс "Спортсмен" и интерфейс "Военный", каждыйиз которых определяет свой специфический набор свойств и методов. Каждый человек (объект) может бытьобъявлен одновременно и "Спортсменом" и "Военным", получив свойства и методы этих двух интерфейсов.Составитель: Ляхевич А.Г., 2000 - 2002 год3.

Апплеты JavaАпплет — это встроенная в Web-страницу мини-программа на языке Java, которая используются дляпридания web-странице привлекательного вида. Апплет не может выполняться самостоятельно, для этогонужен Java-совместимый Web-браузер. Браузер загружает HTML-документ, одновременно с нимзагружается и выполняется Java-апплет. Цикл загрузки апплетов приведен ниже:1.Загружается HTML-файл.2.Обнаруживается тег <APPLET>.3.Файл класса (файл с программой), указанного в APPLET, загружается с сервера.4.Распознаются и загружаются классы, на которые ссылается класс APPLET.5.Класс APPLET вызывает методы init () and start ().6.Апплет выполняется (отображается в окне браузера или вне его, если апплет используетсобственный кадр —frame).4. Встраивание апплетов в HTML-страницыАпплет – часть HTML-страницы, и встраивается в нее через тег <applet>, например:<APPLETCODEBASE="http://www.spravka.by"CODE="telefon.Class"WIDTH="100px" HEIGHT="100px" ALT="Альтернативный текст" NAME="TelKniga" ALIGN="middle"VSPACE="10" HSPACE="10"><PARAM NAME="Adres" VALUE="Минск"><PARAM NAME="Telefon" VALUE="5550137">Если вы видите этот текст, значит ваш браузер не поддерживает апплеты! Пора сменить…</APPLET>Ниже кратко описаны все показанные атрибуты:Обязательные атрибутыCODEWIDTHHEIGHTCODEBASEALTNAMEALIGNVSPACEНSPACEPARAMДопустимые значенияДопустимое имя файла класса апплетаШирина апплета в пикселахВысота апплета в пикселахДопустимая URL-ссылка на каталог, в котором располагаются файлыкласса этого апплетаАльтернативный текст для случая, когда Java-совместимый браузер неможет выполнить апплетЧастное имя апплета, по которому другие апплеты, расположенные на тойже HTML-странице, могут обращаться к немуВыравнивание апплета; допустимые значения: left, right, top, texttop,middle, absmiddle, baseline, bottom, absbottomПустые места (задаваемые в пикселах) сверху и снизу от апплетаПустые места (задаваемые в пикселах) справа и слева от апплетаПараметры, передаваемые апплету5.

Безопасность Java апплетовНеприятно сознавать, что Web-страницы, которыми переполнен Интернет, могут содержать чужиепрограммы, которые выполняются на вашем компьютере. Истина, однако, заключается в том, что Javaапплеты — безопасный способ распространения программ через Internet. Это объясняется тем, что интерпретатор Java не запустит апплет до тех пор, пока не убедится в том, что байт-код апплета безопасен(систему безопасности Java см. ниже). Более того, Java-апплеты не только защищены системойбезопасности, но и сам язык Java построен так, что апплеты практически не в состоянии повредить систему.На апплеты, загружаемые по сети, накладываются следующие ограничения:- Апплет не может читать или модифицировать файлы локальной файловой системы, создавать,переименовывать или копировать файлы и каталоги.- Апплет не может создавать произвольные сетевые соединения, за исключением связей с той хостмашиной, с которой апплеты были считаны.- Апплет не может вызывать внешние программы посредством таких системных вызовов, как forkили ехес, загружать в клиентской машине динамические библиотеки.- Апплет не может манипулировать какими-либо группами Java-потоков, за исключением ихсобственной группы потоков, порожденной из главного потока апплета.Составитель: Ляхевич А.Г., 2000 - 2002 год-Апплет не может останавливать работу виртуальной Java-машины, игнорировать или подменятьпроверку системы безопасности.Доступ апплета к информации о системе ограничен (недоступна информация: домашний и текущийкаталог пользователя, регистрационное имя пользователя, каталог инсталляции Java, путь к Javaклассам и др.).6.

Система безопасности JavaВажным достоинством Java-приложений является защищенность. Во-первых, сам язык способствуетнаписанию более защищенных и устойчивых к сбоям программ. Во-вторых, язык имеет встроеннуюсистему безопасности. К особенностям языка, заставляющим писать безопасный код относятся :1) Строгая ориентация на объекты.Технология объектно-ориентированного программирования значительно снижает вероятностьвозникновения ошибок в программах, из-за подхода к объекту как к завершенной автономной единице.Это исключает возникновение таких трудно обнаруживаемых ошибок, как ошибки, возникающие привзаимодействии двух по отдельности нормально работающих процедур, но ссылающихся на одну и туже область памяти, в результате чего последствия их совместной работы не предсказуемы. Чем меньшетаких ошибок – тем устойчивее работа программы и меньше возможности проникновения в систему изза сбоев в ней.2) Строгая типизация и безопасное преобразование типов.В целях безопасности преобразования типов проверяются как статически, так и динамически; этогарантирует то, что объявленный на этапе компиляции тип объекта будет точно соответствовать типуобъекта во время выполнения, даже если по отношению к этому объекту выполнялись операциипреобразования типов.

Контроль за преобразованием типов препятствует преднамеренной подменетипов данных.3) Отсутствие указателей.Все элементы данных всегда имеют имя. Каждая простая структура данных или фрагмент кода имеютидентификатор, позволяющий полностью контролировать их. Нельзя сослаться на область памяти(прочитать/записать), не относящейся к переменным Java-программы.

Если бы указатели существовали– это дало бы возможность писать (читать) в любую область памяти компьютера, несанкционированноподменять (получать) данные, выполнять свой код.4) Позднее распределение памяти и связывание.Позднее связывание гарантирует, что точное местоположение ресурсов на этапе выполнения происходит в самый последний момент. Позднее связывание представляет серьезное препятствие на путивнешних атак благодаря специальным соглашениям, касающимся выделения памяти для этих ресурсов.5) Автоматическая сборка мусора и неявное управление памятью.В языках С и C++ программист явным образом распределяет память, освобождает ее и следит за всемиуказателями на выделенную память. Зачастую это усложняет программы и является главнымисточником ошибок и уязвимости к атакам типа "переполнение буфера" (злоумышленник, передавпрограмме слишком большой, не предусмотренный программистом, параметр может вызвать крушениесистемы или выполнение своего кода), нелегальное копирование, захват полномочий.

В языке Javaпрограммист не должен явно управлять памятью. Выделение и освобождение памяти выполняютсяавтоматически и корректно. При освобождении неиспользуемой памяти применяется механизм сборкимусора (дефрагментация памяти).6) Классы и методы final.Классы и методы можно объявлять как final, запрещая тем самым создание подклассов и переопределение методов. Такое объявление препятствует злонамеренному изменению проверенного кода.7) Проверка имен.Классы Java описываются внутри пакетов. Имена классов связаны с названиями пакетов. Пакетыгарантируют, что код, полученный из сети, отличается от локального кода. Принятая библиотекаклассов не может по ошибке или преднамеренно заменить локальные библиотеки проверенных классовили перехватить их права, даже если эти библиотеки имеют одинаковые имена.

Это также защищает отнепроверенных, случайных взаимодействий локального и принятого классов.8) Синтаксические конструкции для защищенных потоковых структур данных.Java является многопотоковым языком и обеспечивает защищенный потоковый доступ к структурамданных и объектам.9) Уникальные манипуляторы для объектов.С каждым объектом в языке Java связан уникальный хэш-код (hashcode).

Характеристики

Тип файла
PDF-файл
Размер
6 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее