рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Язык программирования Java

Язык программирования Java - раздел Программирование, Введение. 1. Интернет, Www И Интранет. 2. Java, Joe, Neo. 3. Java - Язык И Те...

ВВЕДЕНИЕ. 1. ИНТЕРНЕТ, WWW И ИНТРАНЕТ. 2. JAVA, JOE, NEO. 3. JAVA - ЯЗЫК И ТЕХНОЛОГИЯ. 14 Мобильность Java. 14 ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA. 16 КЛАССЫ. 16 НАСЛЕДОВАНИЕ. Интерфейсы. 21 ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА. 23 Базовые типы данных. 23 Массивы в Java. 25 ПАКЕТЫ. 27 УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ. 28 ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ. 28 МЕХАНИЗМ ПОТОКОВ. 31 КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE 31 СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ 33 Библиотеки классов Java 37 Встроенные классы. 37 Замещающие классы. 37 Класс String. 38 Другие встроенные классы. 38 Подключаемые библиотеки классов. 39 Библиотека классов java.util. 39 Библиотека классов java.io. 39 Библиотека классов java.net. 39 Библиотека классов java.awt. 40 Библиотека классов java.awt.image. 40 Библиотека классов java.awt.peer. 40 Библиотека классов java.applet. 41 ТЕХНОЛОГИЯ JAVA. 41 ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ. 41 JAVA-МАШИНА. 43 ТИПЫ ДАННЫХ, ПОДДЕРЖИВАЕМЫЕ JAVA-МАШИНОЙ. 44 РЕГИСТРЫ. 45 Указатели, которых нет. 46 СБОР МУСОРА. 47 СИСТЕМА КОМАНД JAVA-МАШИНЫ. 4. СВЯЗЬ JAVA С ОКРУЖЕНИЕМ ОКОННЫЙ ИНСТРУМЕНТАРИЙ. 49 ОБЩИЕ ПОЛОЖЕНИЯ. 49 ИЗ ЧЕГО СТРОИТСЯ ГРАФИЧЕСКИЙ ИНТЕРФЕЙС КОМПОНЕНТЫ И КОНТЕЙНЕРЫ . 5. JAVA И БЕЗОПАСНОСТЬ. 52 Вывод. 54 Казалось бы, на сегодняшний день изобретены уже все языки программирования, какие только можно придумать. Но нет - появился еще один, с названием Java. Этот язык сумел получить весьма заметную известность за последние несколько лет, так как он ориентирован на самую популярную компьютерную среду - сеть Internet и серверы Web. Персональные компьютеры сделали информационные технологии частью массовой культуры.

И тем не менее, уже довольно длительная история развития персональных компьютеров не знала ничего, подобного феномену Java. Что изменилось в мире в последние годы, почему этот феномен стал возможен? Изменился Интернет.

Он стал доступен миллионам людей, далеких от технических проблем.

Число пользователей Интернет по порядку величины уже не отличается от числа пользователей персональных компьютеров и продолжает взрывообразно расти.

Одновременно Интернет обеспечил такую скорость распространения новинок информационных технологий, которую не могли и никогда не смогут дать традиционные каналы сбыта.

Время спрессовалось. В Интернет, опоздав буквально на день, компьютерная компания, даже крупная, рискует серьезно ослабить свои позиции сразу во всем мире. Язык Java произошел от языка программирования Oak а не от C , как думают многие. Oak был приспособлен для работы в Internet и затем переименован в Java. Синтаксис Java близок к синтаксису языка C . Унаследовав самое лучшее от языка программирования C , язык Java при этом избавился от некоторых недостатков C , в результате чего на нем стало проще программировать.

В этом языке нет, например, указателей, которые сложны в использовании и потенциально могут послужить причиной доступа программы к не принадлежащей ей области памяти.

Нет множественного наследования и шаблонов, хотя функциональные возможности языка Java от этого не пострадали. Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Internet подключены компьютеры самых разных типов - Pentium PC, Macintosh, рабочие станции Sun и так далее.

Даже в рамках компьютеров, созданных на базе процессоров Intel, существует несколько платформ, например, Microsoft Windows версии 3.1, Windows 95, Windows NT, OS 2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой X Windows. Между тем, создавая сервер Web в сети Internet, хотелось бы, чтобы им могло пользоваться как можно большее число людей. В этом случае выручают приложения Java, предназначенные для работы на различных платформах и не зависящие от конкретного типа процессора и операционной системы. Программы, составленные на языке программирования Java, можно разделить по своему назначению на две большие группы.

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

Приложения, относящиеся к первой группе будем называть их просто приложениями Java это обычные автономные программы. Так как они не содержат машинного кода и работают под управлением специального интерпретатора, их производительность заметно ниже, чем у обычных программ, составленных, например, на языке программирования C . Однако не следует забывать, что программы Java без перетрансляции способны работать на любой платформе, что само по себе имеет большое значение в плане разработок для Internet.

Аплеты Java встраиваются в документы HTML, хранящиеся на сервере Web. С помощью аплетов можно сделать страницы сервера Web динамичными и интерактивными. Аплеты позволяют выполнять сложную локальную обработку данных, полученных от сервера Web или введенных пользователем с клавиатуры. Из соображений безопасности аплеты в отличие от обычных приложений Java не имеют никакого доступа к файловой системе локального компьютера.

Все данные для обработки они могут получить только от сервера Web. Более сложную обработку данных можно выполнять, организовав взаимодействие между аплетами и расширениями сервера Web - приложениями CGI и ISAPI. Для повышения производительности приложений Java в современных браузерах используется компиляция на лету - Just-In-Time compilation JIT . При первой загрузке аплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета Java увеличивается в несколько раз. Язык Java является объектно-ориентированным и поставляется с достаточно объемной библиотекой классов.

Так же как и библиотеки классов систем разработки приложений на языке C , библиотеки классов Java значительно упрощают разработку приложений, представляя в распоряжение программиста мощные средства решения распространенных задач. Поэтому программист может больше внимания уделить решению прикладных задач, а не таких, как, например, организация динамических массивов, взаимодействие с операционной системой или реализация элементов пользовательского интерфейса. 1. ИНТЕРНЕТ, WWW И ИНТРАНЕТ. Информационные перегрузки - характерная черта нашего времени.

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

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

Обычно же у потребителя просто накапливаются горы мусора, в котором отыскать нечто нужное почти невозможно. Чтобы информация была актуальной для потребителя, она должна доставляться к нему по запросу - в точности тогда, когда в ней возникла необходимость. Кроме того, поставщик должен сохранять возможность управления информацией, он должен не только создавать ее, но и вовремя обновлять и уничтожать. Централизованные компьютерные системы, доминировавшие еще 10 лет назад, позволяли пользователям сравнительно легко находить информацию в оперативном режиме, однако они затрудняли управление информацией, поскольку ее источники, как правило, разнородны и территориально разнесены.

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

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

Средства Web, помимо связывания распределенных данных, осуществляют еще одну очень важную функцию.

Они позволяют рассматривать информацию с нужной степенью детализации, что существенно упрощает анализ больших объемов данных. Можно быстро отобрать самое интересное, а затем изучить выбранный материал во всех подробностях. Таким образом, Web-серверы и Web-навигаторы могут и должны использоваться не только в мировом масштабе. Web - это инфраструктурный сервис, необходимый каждой организации со сколько-нибудь заметными информационными потоками.

В то же время, Web-сервису присущи и определенные недостатки, вытекающие из отсутствия объектной ориентации и из природы HTTP-протокола. Во-первых, клиент по существу лишен средств управления внешним представлением объектов на просматриваемой WWW-странице. Во-вторых, Web-страницы статичны. При использовании протокола HTTP, на клиентскую систему передаются только пассивные данные, но не методы объектов. Из общих соображений очевидна ограниченность подобного подхода.

Данный недостаток, разумеется, связан с первым. Объект сам должен знать, как себя показывать - точнее говоря, он должен это выяснить, проанализировав клиентское окружение. В-третьих, Web-сервис обладает весьма ограниченными интерактивными возможностями, которые сводятся к заполнению пользователем чисто текстовых форм с последующей отправкой на сервер. Сервер анализирует полученные данные, после чего формирует и возвращает клиенту новую WWW-страницу, которая нередко вновь оказывается формой.

Такой стиль общения не всегда устраивает пользователей. Java-технология позволяет устранить все отмеченные недостатки. Как именно - будет ясно из последующего изложения. В результате Web-сервис, и без того имевший огромную популярность, получил как бы новый импульс. Этот экспресс понесся вперед с удвоенной скоростью, увлекая за собой и Java. 2. JAVA, JOE, NEO. В узком смысле слова Java - это объектно-ориентированный язык, напоминающий C , но более простой для освоения и использования. В более широком смысле Java - это целая технология программирования, изначально рассчитанная на интеграцию с Web-сервисом, то есть на использование в сетевой среде, Поскольку Web-навигаторы существуют практически для всех аппаратно-программных платформ, Java-среда должна быть как можно более мобильной, в идеале полностью независимой от платформы.

С целью решения перечисленных проблем были приняты, помимо интеграции с Web-навигатором, два других важнейших постулата Была специфицирована виртуальная Java-машина, на которой должны выполняться интерпретироваться Java-программы.

Определены ее архитектура, представление элементов данных и система команд. Исходные Java-тексты транслируются в коды этой машины. Тем самым, при появлении новой аппаратно-программной платформы в портировании будет нуждаться только Java-машина все программы, написанные на Java, пойдут без изменений. Определено, что при редактировании внешних связей Java-программы и при работе Web-навигатора прозрачным для пользователя образом может осуществляться поиск необходимых объектов не только на локальной машине, но и на других компьютерах, доступных по сети в частности, на WWW-сервере. Найденные объекты загружаются, а их методы выполняются затем на машине пользователя.

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

Принимать необходимые меры безопасности проще всего в интерпретируемой среде. Вообще, мобильность, динамизм и безопасность - спутники интерпретатора, а не компилятора. Принятые решения сделали Java-среду идеальным средством разработки клиентских компонентов Web-систем. Особо отметим прозрачную для пользователя динамическую загрузку объектов по сети. Из этого вытекает такое важнейшее достоинство, как нулевая стоимость администрирования клиентских систем, написанных на Java. Достаточно обновить версию объекта на сервере, после чего клиент автоматически получит именно ее, а не старый вариант.

Без этого реальная работа с развитой сетевой инфраструктурой практически невозможна. С другой стороны, при наличии динамической загрузки действительно возможно появление устройств класса Java-терминалов, изначально содержащих только WWW-навигатор, а все остальное и программы, и данные получающих по сети. Здесь уместно отметить замечательную точность в выборе основных посылок проекта Java. Из минимума предположений вытекает максимум новых возможностей при сохранении практичности реализации.

В то же время, интеграция с WWW-навигатором и интерпретируемая природа Java-среды ставят вполне определенные рамки для реального использования Java-программ хотя, конечно же, язык Java не менее универсален, чем, скажем, C . Например, известно, что интерпретация, по сравнению с прямым выполнением, на 1-2 порядка медленнее. Применение компиляции на лету и специализированных Java-процессоров, несомненно, улучшит ситуацию, но пока использование Java на серверной стороне представляется проблематичным.

Хотя технология Интранет, основанная на использовании Web-сервиса в качестве информационной основы организации, является огромным шагом вперед, существуют и другие сервисы, как унаследованные, так и современные например, реляционные СУБД , которые обязательно должны входить в состав корпоративной системы.

Если вся связь между клиентами и упомянутыми серверами будет осуществляться через сервер WWW, последний станет узким местом, а решения Интранет рискуют лишиться такого важнейшего достоинства, как масштабируемость. Значит, необходима прямая связь между клиентскими системами, написанными на языке Java, и произвольными сервисами. Как реализовать такую связь? В общем виде ответ очевиден - нужны средства для полноценной интеграции Java в распределенную объектную среду.

На серверной стороне компания Sun Microsystems имеет соответствующую технологию - NEO NEtworked Objects, сетевые объекты . технология NEO удовлетворяет спецификациям OMG Object Management Group, являющимся промышленным стандартом. При реализации корпоративных информационных систем с использованием NEO наиболее естественным представляется использование трехуровневой архитектуры с серверами приложений, построенными на объектных принципах, на втором уровне и с базовыми и унаследованными серверами на третьем уровне.

К сожалению, столь общий ответ никак не помогает осуществлять прямую связь между Java-клиентом и NEO-сервером. Конечно, можно воспользоваться стандартными средствами программирования в сетевой среде а Java допускает использование библиотек, написанных на C C , равно как и вставку машинных кодов, но если бы это было единственной возможностью, Java рисковала остаться на уровне оживлялок. В конце марта компания SunSoft объявила о появлении нового продукта с именем Joe, как раз и предназначенного для существенного облегчения встраивания Java-клиентов в информационные системы Интранет, построенные в трехуровневой архитектуре с использованием среды NEO. Таким образом, сложилась полная и изумительно красивая картина организации современных Интранет-систем. 3.

JAVA - ЯЗЫК И ТЕХНОЛОГИЯ

JAVA - ЯЗЫК И ТЕХНОЛОГИЯ .

Мобильность Java

Мобильность Java. Программа на языке Java компилируется в двоичный модуль, состоящий из ... В результате вы получите байт-код, пригодный для любой платформы, где ... Таким образом, приложение Java компилируется и отлаживается только оди... Еще одна проблема, возникающая при переносе программ, составленных на ...

ОБЪЕКТНАЯ МОДЕЛЬ ЯЗЫКА JAVA

Здесь и далее номера строк используются для последующих пояснений и не... В языке Java нельзя отрывать определение метода функции от описания за... Синтаксическая конструкция class полностью включает в себя всю информа... Класс Object - это корень дерева наследования. Аналогичную роль по отношению к родительскому классу играет слово supe...

НАСЛЕДОВАНИЕ. Интерфейсы

В контексте наследования интерфейс можно рассматривать как абстрактный... Класс Blackboard - наследник класса Canvas, специально предназначенног... Таким образом, с помощью интерфейсов можно компенсировать отсутствие м... При необходимости, однако, этот дочерний класс может реализовывать про... Интерфейс Verbose содержит два метода.

ЖИЗНЕННЫЙ ЦИКЛ ОБЪЕКТА

Из-за того, что сборщик мусора работает в фоновом режиме, вызов finali... Объект существует до тех пор, пока на него есть ссылки то есть пока он... В языке Java определено восемь базовых типов данных. Проблему можно решить, если вместо базовых переменных использовать объ... Этот размер не зависит от платформы, на которой выполняется приложение...

Массивы в Java

Нет в Java и указателей. Строки символов являются объектами типа String текстовые константы или... Первая инструкция import позволяет обращаться к классам пакета util сл... HashTable Вторая инструкция импортирует лишь класс HashTable, позволяя... Например, класс ArrayIndexOutOfBoundsException отвечает за контроль вы...

КЛАСС THREAD И ИНТЕРФЕЙС RUNNABLE

Поток thread представляет собой отдельный поток управления в пределах ... Поток заканчивается либо при завершении выполнения метода run, либо с ... Это значит, что для передачи управления потоку с тем же приоритетом, в... 1 class SomethingToRun extends BaseRunner implements Runnable 2 privat... В реальных программах, как правило, объект должен наследовать у какого...

СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ

СРЕДСТВА СИНХРОНИЗАЦИИ ПОТОКОВ. Для превращения произвольной инструкции обычно это блок в критический ... В комплекте со всеми средствами разработки Java поставляются достаточн... В языке Java все классы происходят от класса Object, и, соответственно... К таким относится, в частности, библиотека с названием java.lang.

Замещающие классы

Значение переменной x автоматически преобразуется в текстовую строку ч... Это преобразование строки в число и обратно с любым заданным основание... С помощью этих операторов можно выполнять слияние текстовых строк, нап... Класс String. Класс String предназначен для работы с такими часто встречающимися объ...

Другие встроенные классы

Библиотека классов java.util очень полезна при составлении приложений,... Библиотека встроенных классов содержит очень важные классы для работы ... Подключаемые библиотеки классов. Среди других встроенных классов отметим класс Math, предназначенный дл... Другие встроенные классы.

Библиотека классов java.io

Библиотека классов java.net предназначена как раз для этого. Это сетевая версия известной игры Lines, которая выполнена в виде неск... Вы можете создавать обычные окна и диалоговые панели, кнопки, переключ... В среде любой операционной системы работа с графическими изображениями... Библиотека классов java.awt.peer служит для подключения компонент AWT ...

ТЕХНОЛОГИЯ JAVA

ТЕХНОЛОГИЯ JAVA .

ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ

ТЕХНОЛОГИЧЕСКИЙ ЦИКЛ ОБРАБОТКИ JAVA-ПРОГРАММ. Первая из них задает имя загружаемого класса и размеры области в окне ... Java-компилятор транслирует исходные тексты Java-программ в коды Java-... Вероятно, уже в ближайшее время следует ожидать появления и все более ... Известны попытки внедрить так называемый P-код в качестве стандарта на...

СИСТЕМА КОМАНД JAVA-МАШИНЫ

СИСТЕМА КОМАНД JAVA-МАШИНЫ. проектировались таким образом, чтобы всячески способствовать компактиф... С другой стороны, формат команд Java-машины довольно прост обычно кома... ТИПЫ ДАННЫХ, ПОДДЕРЖИВАЕМЫЕ JAVA-МАШИНОЙ. Java-машина поддерживает следующие стандартные типы данных byte - одно...

– Конец работы –

Используемые теги: язык, программирования, Java0.058

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Язык программирования Java

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Конспект лекций по курсу Алгоритмические языки и программирование Основы языка С++
Пермский Государственный технический университет... Кафедра информационных технологий и автоматизированных... Викентьева О Л...

В первом семестре рассматриваются основные конструкции языка Си и базовая технология программирования структурное программирование
В первом семестре рассматриваются основные конструкции языка Си и базовая технология программирования структурное программирование... Структурное программирование это технология создания программ позволяющая... Компиляторы и интерпретаторы Трансляторы бывают...

Понятие литературный язык. Место литературного языка среди других форм существования языка
Литературный язык это язык государственных и культурных учреждений школьного обучения радио и телевидения науки публицистики художественной... Современный литературный язык многофункционален Он используется в различных... Основные сферы использования литературного языка телевидение и кино наука и образование печать и радио...

Все языки программирования делятся на языки низкого, высокого и сверхвысокого уровня
ОГЛАВЛЕНИЕ ВВЕДЕНИЕ ЗАДАНИЕ ЗАДАНИЕ... ВВЕДЕНИЕ...

Лекция 1. Объектно-ориентированное программирование – это новый подход к программированию. Объектно- ориентированные языки обладают свойством
ВВЕДЕНИЕ... Приступая к изучению более сложных конструкций языка С следует прежде всего повторить тот материал который был...

Два объекта истории русского языка: живой язык диалектный и литературный язык
Новые общественные функции приобретает русский язык по мере сложения новой исторической общности советского народа он становится межнациональным... Современный период... Горшкова Хабургаев ИГРЯ...

ИНОСТРАННЫЙ ЯЗЫК: АНГЛИЙСКИЙ ЯЗЫК
высшего профессионального образования... Алтайская государственная академия культуры и искусств... Факультет информационных ресурсов и дизайна...

Программирование на языке Паскаль
ГОУ Уральский государственный технический университет УПИ... Программирование на языке Паскаль Лабораторный практикум по...

НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУКТ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ИСТОРИЧЕСКИЙ И СОЦИАЛЬНЫЙ КОНТЕКСТ ПРОГРАММИРОВАНИЯ. ИСТОЧНИКИ ОШИБОК В ПРОГРАММНОМ СРЕДСТВЕ
ВВЕДЕНИЕ... Лекция НАДЕЖНОЕ ПРОГРАММНОЕ СРЕДСТВО КАК ПРОДУКТ ТЕХНОЛОГИИ... Программа как формализованное описание процесса обработки данных Программное средство...

Курс программирования на языке Си: конспект лекций
На сайте allrefs.net читайте: "Курс программирования на языке Си: конспект лекций"

0.037
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам