Реферат: Обзор языка Java - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Обзор языка Java

Банк рефератов / Информатика, информационные технологии

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 51 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Федеральное агентство по образова нию Тульский государственный универси тет Кафедра автоматики и телемеханики Курсовая работа по дисциплине «Информационные технологии» на тему «Обзор языка Java » Тула 2005 СОДЕРЖАНИЕ ВВЕДЕНИЕ 3 1. ИСТОРИЯ СОЗДАНИЯ 5 2 ДОСТОИНСТВА ЯЗЫКА JAVA 7 2. 1 Без опасность 7 2. 2 Об ъектная ориентированность 7 2. 3 Над ежность 9 2. 4 Инт ерактивность 10 2. 5 Нез ависимость от архитектуры ЭВМ 11 2. 6 Интерпретация плю с высокая производительность 11 2. 7 Простота изучения 11 3 АППЛЕТ Ы JAVA 13 4 ВИРТУАЛЬНАЯ МАШИНА JAVA И БАЙТ-КОДЫ 15 5 МОБИЛЬНОСТЬ JAVA 19 ЗАКЛЮЧЕНИЕ 23 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 25 ВВЕДЕНИЕ Организовать доступ к базам да нных из современного языка программирования в наше время не представля ет никакой сложности. Более того, и сами языки программирования более вс его оцениваются разработчиками по типу и возможностям заложенных в них средств доступа к базам данных, удобству и полноте интерфейсов. В этом см ысле Java не представляет исключения. Уже в версии JDK1.1 появился пакет классов java.sql, обеспечивающий большинство функций, известных к тому времени разраб отчикам ODBC-приложений. В этом пакете содержится ряд замечательных классо в, например: java.sql.CallableStatement, который обеспечивает выполнение на Java хранимых проце дур; java.sql.DatabaseMetaData, который исследует базу данных на предмет ее реляционной пол ноты и целостности с получением самых разнообразных данных о типах и сод ержимом таблиц, колонок, индексов, ключей и т.д.; наконец, - java.sql.ResultSetMetaData, с помощью которого можно выводить в удобном виде всю необходимую информацию из та блиц базы данных или печатать сами метаданные в виде названий таблиц и к олонок. Однако, коренное отличие Java от других традиционных языко в программирования заключается в том, что одни и те же функции доступа к б азам данных, с помощью универсальности и кроссплатформенности Java, можно о рганизовать чрезвычайно гибко, используя все преимущества современных объектно-ориентированных технологий, WWW и Intranet/Internet. Создание языка Java — это один из самых значительных шагов вперед в области разработки сред программирования за последние 20 лет. Язык HTML (Hypertext Markup Language — язык разметки гипертекста) был необхо дим для статического размещения страниц во “Всемирной паутине” WWW (World Wide Web). Я зык Java потребовался для качественного скачка в создании интерактивных п родуктов для сети Internet. Огромное преимущество Java заключается в том, что на этом язы ке можно создавать приложения, способные работать на различных платфор мах. К сети Internet подключены компьютеры самых разных типов - PC, Macintosh, рабочие ста нции Sun и так далее. Даже в рамках компьютеров, созданных на базе процессор ов Intel, существует несколько платформ, например, Microsoft Windows версии 3.1, Windows 95, Windows NT, OS/2, Solaris, р азличные разновидности операционной системы UNIX с графической оболочкой X Window. Между тем, создавая сервер Web в сети Internet, вы бы наверняка хотели, чтобы им м огло пользоваться как можно большее число людей. В этом случае вас выруч ат приложения Java, предназначенные для работы на различных платформах и не зависящие от конкретного типа процессора и операционной системы. 1 ИСТОРИЯ СОЗДАНИЯ Изучая Java, можно заметить, что е го синтаксис близок к синтаксису языка C++. Унаследовав самое лучшее от язы ка программирования C++, язык Java при этом избавился от некоторых недостатко в C++, в результате чего на нем стало проще программировать. В этом языке нет , например, указателей, которые сложны в использовании и потенциально мо гут послужить причиной доступа программы к не принадлежащей ей области памяти. Нет множественного наследования и шаблонов, хотя функциональны е возможности языка Java от этого не пострадали. Язык Java зародился как часть проекта с оздания передового программного обеспечения (ПО) для различных бытовых приборов. Реализация проекта была начата на языке С++, но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого ин струмента - языка программирования. Стало очевидным, что необходим платф ормо-независимый язык программирования, позволяющий создавать програм мы, которые не приходилось бы компилировать отдельно для каждой архитек туры и можно было бы использовать на различных процессорах под различны ми операционными системами. Рождению языка Java предшествовала довольно интересная ист ория. В 1990 году разработчик ПО компании Sun Microsystems Патрик Нотон (Patrick Naughton) понял, что е му надоело поддерживать сотни различных интерфейсов программ, использ уемых в компании, и сообщил исполнительному директору Sun Microsystems и своему друг у Скотту МакНили (Scott McNealy) о своем намерении перейти работать в компанию NeXT. Ма кНили, в свою очередь, попросил Нотона составить список причин своего не довольства и выдвинуть такое решение проблем, как если бы он был Богом и м ог исполнить все, что угодно. Нотон, хотя и не рассчитывал на то, что кто-то обратит внима ние на его письмо, все же изложил свои претензии, беспощадно раскритиков ав недостатки Sun Microsystems, в частности, разрабатываемую в тот момент архитектур у ПО NeWS. К удивлению Нотона, его письмо возымело успех: оно было разослано в сем ведущим инженерам Sun Microsystems, которые не замедлили откликнуться и высказа ть горячую поддержку своему коллеге и одобрение его взглядов на ситуаци ю в Sun Microsystems. Обращение вызвало одобрение и у высшего руководства компании, а именно, у Билла Джоя (Bill Joy), основателя Sun Microsystems, и Джеймса Гослинга (James Gosling), начальн ика Нотона. В тот день, когда Нотон должен был уйти из компании, было пр инято решение о создании команды ведущих разработчиков с тем, чтобы они делали что угодно, но создали нечто необыкновенное. Команда из шести чел овек приступила к разработке нового объектно-ориентированного языка п рограммирования, который был назван Oak (дуб), в честь дерева, росшего под окн ом Гослинга. Вскоре компания Sun Microsystems преобразовала команду Green в компанию First Person. Новая компания обладала интереснейшей концепцией, но не могла найт и ей подходящего применения. После ряда неудач неожиданно ситуация для к омпании резко изменилась: был анонсирован броузер Mosaic - так родился World Wide Web, с к оторого началось бурное развитие Internet. Нотон предложил использовать Oak в со здании Internet-приложений. Так Oak стал самостоятельным продуктом, вскоре был на писан Oak-компилятор и Oak-браузер "WebRunner". В 1995 году компания Sun Microsystems приняла решение объявить о новом продукте, переименовав его в Java (единственное разумное о бъяснение названию - любовь программистов к кофе). Когда Java оказалась в рук ах Internet, стало необходимым запускать Java-аплеты - небольшие программы, загруж аемые через Internet. WebRunner был переименован в HotJava и компания Netscape встала на поддержку Java-продуктов. 2 ОСТОИНСТВА ЯЗЫ КА JAVA Язык должен был воплощать следующие качества: простоту и мощь, безопасность, объектную ориентированность, на дежность, интерактивность, архитектурную независимость, возможность и нтерпретации, высокую производительность и легкость в изучении. Даже ес ли вы никогда не напишете ни одной строки на языке Java, знать о его возможнос тях весьма полезно, поскольку именно перечисленные выше свойства языка придают динамику страницам Всемирной паутины. 2. 1 Безопасность В популярной литературе наших дней, особенно если речь за ходит об Internet, стало модной темой обсуждение вопросов безопасности. Люди у верены, что использование Internet в коммерческой деятельности равносильно н аписанию номера своей кредитной карточки на стенке телефонной будки. Од ин из ключевых принципов разработки языка Java заключался в обеспечении за щиты от несанкционированного доступа. Программы на Java не могут вызывать г лобальные функции и получать доступ к произвольным системным ресурсам, что обеспечивает в Java уровень безопасности, недоступный для других языко в. 2. 2 Объектная ориентированность Язык Java разрабатывался как чисто объектно-ориентированный язык, в отличие от С++, объектная парадигма которого «ослабляется» возможностя ми, оставшимися от языка С. В Java отсу тствуют такие структуры С++, как struct , union и procedure ; они заменены на методы, интерфейсы и более развитые класс ы. Классы в Java создаются иначе, чем в С++; это касается того, как Java обрабатывает операции наследования. Ког да от родительского класса (или суперкласса) порождается подкласс, в Java используется ключевое слово extends : public class MyString extends String После этого оператора класс MyString наследует все методы и переменные своего суперкласса. В С ++ для этого используется объявление типа class : mode superclass . Функции и процедуры в Java заменены на конструкции, называемые мето дами. Методы очень напоминают процедуры языка С++ за исключением того, что методы не могут быть независимыми от класса (кроме методов из интерфейсо в). В Java , как и в С++, возмож ны множественные конструкторы, дающие программисту возможность инициа лизировать объект различными способами. При объявлении конструкторов существуют два основных правила: имя конструктора и название класса дол жны совпадать; при объявлении конструктора не указывается возвращаемы й тип. Как и другие ссылочные переменные, классы создаются динамически п ри помощи ключевого слова new . Ниже приведен пример объявления класса с несколькими конструкторами: public Class MyString extends String public String x; public MyString() x = new String (“Строка по умолчанию”); // вызов конструктора класса String public MyString(String x) this.x=new String(x); В приведенном примере ключевое слово this используется так же, как и в С++, дл я того чтобы различать обращения к переменным класса и переменным метод ов. Другой способ создания класса – исп ользовать конструктор суперкласса и ключевое слово super . Вот простой пример : public class ParentClass int x,y; public ParentClass(x,y) this.x=0; this.y=0; public class ChildClass extends ParentClass public ChildClass(x,y) super(x,y); //вызов конструктора суперкласса Методы класса во многом похожи на конструкторы, одн ако они могут возвращать любой тип. public int ClassMethod(int j) x+=j; y+=j; return (x+y); 2. 3 Надежность Java ограничивает вас в нескольких ключ евых областях и таким образом способствует обнаружению ошибок на ранни х стадиях разработки программы. В то же время в ней отсутствуют многие ис точники ошибок, свойственных другим языкам программирования (строгая т ипизация, например). Большинство используемых сегодня программ “отказы вают” в одной из двух ситуаций: при выделении памяти, либо при возникнове нии исключительных ситуаций. В традиционных средах программирования р аспределение памяти является довольно нудным занятием — программисту приходится самому следить за всей используемой в программе памятью, не забывая освобождать ее по мере того, как потребность в ней отпадает. Зача стую программисты забывают освобождать захваченную ими память или, что еще хуже, освобождают ту память, которая все еще используется какой-либо частью программы. Исключительные ситуации в традиционных средах прогр аммирования часто возникают в таких, например, случаях, как деление на ну ль или попытка открыть несуществующий файл, и их приходится обрабатыват ь с помощью неуклюжих и нечитабельных конструкций (кроме Delphi). Java фактически снимает обе эти проблемы, используя сборщик мусора для освобождения нез анятой памяти и встроенные объектно-ориентированные средства для обра ботки исключительных ситуаций. Специальный процесс сборки мусора - это одна из интересне йших особенностей языка программирования Java и среды выполнения приложе ний Java, предназначенная для удаления ненужных объектов из памяти. Эта сис тема избавляет программиста от необходимости внимательно следить за и спользованием памяти, освобождая ненужные более области явным образом. Создавая объекты в Java, вы можете руководствоваться принци пом "создай и забудь", так как система сборки мусора позаботится об удален ии ваших объектов. Объект будет удален из памяти, как только на него не ост анется ни одной ссылки из других объектов. Приоритет процесса сборки мусора очень низкий, поэтому "у борка" среды выполнения приложений Java не отнимает ресурсы у самих приложе ний. Указатели или адреса в памяти — наиболее мощная и наибол ее опасная черта C++. Причиной большинства ошибок в сегодняшнем коде являе тся именно неправильная работа с указателями. Например, одна из типичных ошибок — просчитаться на единицу в размере массива и испортить содержи мое ячейки памяти, расположенной вслед за ним. Хотя в Java дескрипторы объектов и реализованы в виде указат елей, в ней отсутствуют возможности работать непосредственно с указате лями. Вы не можете преобразовать целое число в указатель, а также обратит ься к произвольному адресу памяти. 2. 4 Интерактивность Java создавалась как средство, которое должно удовлетворит ь насущную потребность в создании интерактивных сетевых программ. В Java ре ализовано несколько интересных решений, позволяющих писать код, которы й выполняет одновременно массу различных функций и не забывает при этом следить за тем, что и когда должно произойти. В языке Java для решения проблем ы синхронизации процессов применен наиболее элегантный из всех когда-л ибо изобретенных методов, который позволяет конструировать прекрасные интерактивные системы. Простые в обращении изящные подпроцессы Java дают в озможность реализации в программе конкретного поведения, не отвлекаяс ь при этом на встраивание глобальной циклической обработки событий. 2. 5 Независимость от архитектуры ЭВМ Вопрос о долговечности и переносимости кода важнее рели гиозных войн между ПК и Макинтошами. Создатели Java наложили на язык и на сре ду времени выполнения несколько жестких требований, которые на деле, а н е на словах позволяют, однажды написав, всегда запускать программу в люб ом месте и в любое время (где существует виртуальная Java-машина – броузеры на всех платформах, OS/2, Netware). 2. 6 Интерпретация плюс высокая производительность Необычайная способность Java исполнять свой код на любой из поддерживаемых платформ достигается тем, что ее программы транслируют ся в некое промежуточное представление, называемое байт-кодом (bytecode). Байт-к од, в свою очередь, может интерпретироваться в любой системе, в которой ес ть среда времени выполнения Java. Большинство ранних систем, в которых пыта лись обеспечить независимость от платформы, обладало огромным недоста тком — потерей производительности (Basic, Perl). Несмотря на то, что в Java используе тся интерпретатор, байт-код легко переводится непосредственно в “родны е” машинные коды (Just In Time compilers) “на лету”. При этом достигается очень высокая пр оизводительность (Symantec JIT встроен в Netscape Navigator). 2. 7 Простота изучения Язык Java, хотя и более сложный чем языки командных интерпретаторов, все же неизмеримо проще для изучения, ч ем другие другие языки программирования, например C++. Java отличен от С++ несколькими основными изме нениями, облегчающими восприятие синтаксиса Java : удалены препроцессор, заголовочные файлы, операторы typeded и директивы # define . Благодаря этому язы ку Java легче изучать. К примеру, расс мотрим следующий фрагмент программы: На С++ На Java #include # define foo 23 class foobar public: foobar() (I=1); private: int I; ; import java.long.* class foobar public foobar() (I=1); public static final int=23; private int I; Как можно видеть, в Java удалены все директивы препроцессора, так ие как # define , что обле гчает восприятие текста программы. Вместо директивы С++ # include в языке Java используется оператор import , позволяющий импортировать другие объектные классы в создава емый код. 3 АППЛЕТЫ JAVA Программы, составленные на языке про граммирования Java, можно разделить по своему назначению на две большие гру ппы. К первой группе относятся приложения Java, предназначенные для автономной работы под управлением специальной интерпретирующей ма шины Java. Реализации этой машины созданы для всех основных компьютерных пл атформ. Вторая группа - это так называе мые апплеты (applets). Каждый апплет — это небольшая программа, динамически за гружаемая по сети — точно так же, как картинка, звуковой файл или элемент мультипликации. Главная особенность апплетов заключается в том, что они являются настоящими программами, а не очередным форматом файлов для хра нения мультфильмов или какой-либо другой информации. Апплет не просто пр оигрывает один и тот же сценарий, а реагирует на действия пользователя и может динамически менять свое поведение. Приложения, относящиеся к первой, - это обычные автономн ые программы. Так как они не содержат машинного кода и работают под управ лением специального интерпретатора, их производительность заметно ниж е, чем у обычных программ, составленных, например, на языке программирова ния C++. Однако не следует забывать, что программы Java без перетрансляции спо собны работать на любой платформе, что само по себе имеет большое значен ие в плане разработок для Internet. Апплеты Java встраиваются в документы HTML, хранящиеся на серве ре Web. С помощью апплетов вы можете сделать страницы сервера Web динамичными и интерактивными. Апплеты позволяют выполнять сложную локальную обраб отку данных, полученных от сервера Web или введенных пользователем с клави атуры. Из соображений безопасности апплеты (в отличие от обычных приложе ний Java) не имеют никакого доступа к файловой системе локального компьютер а. Все данные для обработки они могут получить только от сервера Web. Более с ложную обработку данных можно выполнять, организовав взаимодействие м ежду апплетами и расширениями сервера Web - приложениями CGI и ISAPI. Для повышения производительности п риложений Java в современных браузерах используется компиляция "на лету "- Just-In-Time compilation (JIT). При первой загрузке апплета его код транслируется в обычную и сполнимую программу, которая сохраняется на диске и запускается. В резул ьтате общая скорость выполнения апплета Java увеличивается в несколько ра з. 4 ВИРТУАЛЬНА Я МАШИНА JAVA И БАЙТ-КОДЫ Программа, написанная на одном из языков высокого уровня, к которым относится и язык Java, так называемый исходный модуль ("исходник" ил и "сырец" на жаргоне, от английского "source"), не может быть сразу же выполнена. Ее сначала надо откомпилировать, т. е. перевести в последовательность маши нных команд — объектный модуль. Но и он, как правило, не может быть сразу ж е выполнен: объектный модуль надо еще скомпоновать с библиотеками испол ьзованных в модуле функций и разрешить перекрестные ссылки между секци ями объектного модуля, получив в результате загрузочный модуль — полно стью готовую к выполнению программу. Исходный модуль, написанный на Java, не м ожет избежать этих процедур, но здесь проявляется главная особенность т ехнологии Java — программа компилируется сразу в машинные команды, но не к оманды какого-то конкретного процессора, а в команды так называемой вирт уальной машины Java (JVM, Java Virtual Machine). Виртуальная машина Java — это совокупность коман д вместе с системой их выполнения. Виртуальная машина Java полностью стеков ая, так что не требуется сложная адресация ячеек памяти и большое количе ство регистров. Поэтому команды JVM короткие, большинство из них имеет длин у 1 байт, от чего команды JVM называют байт-кодами (bytecodes), хотя имеются команды дл иной 2 и 3 байта. Согласно статистическим исследованиям средняя длина ком анды составляет 1,8 байта. Полное описание команд и всей архитектуры JVM соде ржится в спецификации виртуальной машины Java (VMS, Virtual Machine Specification). Другая особенность Java — все стандартные функции, вызывае мые в программе, подключаются к ней только на этапе выполнения, а не включ аются в байт-коды. Как говорят специалисты, происходит динамическая комп оновка (dynamic binding). Это тоже сильно уменьшает объем откомпилированной програм мы. Итак, на первом этапе програм ма, написанная на языке Java, переводится компилятором в байт-коды. Эта компи ляция не зависит от типа какого-либо конкретного процессора и архитекту ры некоего конкретного компьютера. Она может быть выполнена один раз сра зу же после написания программы. Байт-коды записываются в одном или неск ольких файлах, могут храниться во внешней памяти или передаваться по сет и. Это особенно удобно благодаря небольшому размеру файлов с байт-кодами . Затем полученные в результате компиляции байт-коды можно выполнять на любом компьютере, имеющем систему, реализующую JVM. При этом не важен ни тип процессора, ни архитектура компьютера. Так реализуется принцип Java "Write once, run anywhere" — "Написано однажды, выполняется где угодно". Интерпретация байт-кодов и динамическая компоновка знач ительно замедляют выполнение программ. Это не имеет значения в тех ситуа циях, когда байт-коды передаются по сети, сеть все равно медленнее любой и нтерпретации, но в других ситуациях требуется мощный и быстрый компьюте р. Поэтому постоянно идет усовершенствование интерпретаторов в сторон у увеличения скорости интерпретации. Разработаны JIT-компиляторы (Just-In-Time), зап оминающие уже интерпретированные участки кода в машинных командах про цессора и просто выполняющие эти участки при повторном обращении, напри мер, в циклах. Это значительно увеличивает скорость повторяющихся вычис лений. Фирма SUN разработала целую технологию Hot-Spot и включает ее в свою вирту альную машину Java. Но, конечно, наибольшую скорость может дать только специ ализированный процессор. Фирма SUN Microsystems выпустила микропроцессоры PicoJava, работающие на системе команд JVM, и собирается выпускать целую линейку все более мощных Java-процессоров. Есть уже и Java-процессоры других фирм. Эти процессоры непоср едственно выполняют байт-коды. Но при выполнении программ Java на других пр оцессорах требуется еще интерпретация команд JVM в команды конкретного п роцессора, а значит, нужна программа-интерпретатор, причем для каждого т ипа процессоров, и для каждой архитектуры компьютера следует написать с вой интерпретатор. Эта задача уже решена практически дл я всех компьютерных платформ. На них реализованы виртуальные машины Java, а для наиболее распространенных платформ имеется несколько реализаций JVM разных фирм. Все больше операционных систем и систем управления базами д анных включают реализацию JVM в свое ядро. Создана и специальная операцион ная система JavaOS, применяемая в электронных устройствах. В большинство бра узеров встроена виртуальная машина Java для выполнения апплетов. Кроме реализации JVM для выполне ния байт-кодов на компьютере еще нужно иметь набор функций, вызываемых и з байт-кодов и динамически компонующихся с байт-кодами. Этот набор оформ ляется в виде библиотеки классов Java, состоящей из одного или нескольких п акетов. Каждая функция может быть записана байт-кодами, но, поскольку она будет храниться на конкретном компьютере, ее можно записать прямо в сист еме команд этого компьютера, избегнув тем самым интерпретации байт-кодо в. Такие функции называют "родными" методами (native methods). Применение "родных" мето дов ускоряет выполнение программы. Фирма SUN Microsystems — создатель технологии Java — бесплатно распр остраняет набор необходимых программных инструментов для полного цикл а работы с этим языком программирования: компиляции, интерпретации, отла дки, включающий и богатую библиотеку классов, под названием JDK (Java Development Kit). Набор программ и классов JDK содержит: а) компилятор javac из исходного те кста в байт-коды; интерпретатор java, содержащий реализацию JVM; б) облегченный интерпретатор jre (в пос ледних версиях отсутствует); в) программу просмотра апплетов appietviewer, заменяющую браузер; г) отладчик jdb; д) дизассемблер javap; е) программу архивации и сжатия jar; ж) программу сбора документации javadoc; з) программу javah генерации заголовочных файлов языка С; и) программу javakey добавления электронной подписи; к) программу native2ascii, преобразующую бинарные файлы в текстовы е; л) программы rmic и rmiregistry для работы с удаленными объектами; м) программу serialver, определяющую номер версии класса; н) библиотеки и заголовочные файлы "родных" методов; о ) библиотеку классов Java API (Application Programming Interface). Кроме JDK, компания SUN отдельно р аспространяет еще и набор JRE (Java Runtime Environment). Набор программ и пакетов классов JRE со держит все необходимое для выполнения байт-кодов, в том числе интерпрета тор java (в прежних версиях облегченнный интерпретатор jre) и библиотеку класс ов. Это часть JDK, не содержащая компиляторы, отладчики и другие средства ра зработки. Именно JRE или его аналог других фирм содержится в браузерах, уме ющих выполнять программы на Java, операционных системах и системах управле ния базами данных. 5 МОБИЛЬНОСТ Ь JAVA Создание приложений, действит ельно работающих на разных платформах - непростая задача. К сожалению, де ло не ограничивается необходимостью перекомпиляции исходного текста п рограммы для работы в другой среде. Много проблем возникает с несовмести мостью программных интерфейсов различных операционных систем и графич еских оболочек, реализующих пользовательский интерфейс. Вспомните хотя бы проблемы, связанные с переносом 16-разр ядных приложений Windows в 32-разрядную среду Windows 95 и Windows NT. Даже если вы тщательно сл едовали всем рекомендациям, разрабатывая приложения так, чтобы они могл и работать в будущих версиях Windows, едва ли вам удастся просто перекомпилиро вать исходные тексты, не изменив в них ни строчки. Ситуация еще больше уху дшается, если вам нужно, например, перенести исходные тексты приложения Windows в среду операционной системы OS/2 или в оболочку X-Windows операционной систем ы UNIX. А ведь есть еще другие компьютеры и рабочие станции! Как нетрудно заметить, даже если ста ндартизовать язык программирования для всех платформ, проблемы совмес тимости с программным интерфейсом операционной системы значительно ус ложняют перенос программ на различные платформы. И, конечно, вы не можете мечтать о том, чтобы загрузочный модуль одной и той же программы мог рабо тать без изменений в среде различных операционных систем и на различных платформах. Если программа подготовлена для процессора Intel, она ни за что н е согласится работать на процессоре Alpha или каком-либо другом. В результате создавая приложение, способное работать на различных платформах, вы вынуждены фактически делать несколько различ ных приложений и сопровождать их по отдельности. На рис. 5. 1 мы показали, как прилож ение, изначально разработанное для Windows NT, переносится на платформу Apple Macintosh. Рисунок 5. 1. Перенос приложения с платформы Windows NT на пл атформу Macintosh Вначале программист готовит исходные тексты приложения для платформы Windows NT и отлаживает их там. Для пол учения загрузочного модуля исходные тексты компилируются и редактирую тся. Полученный в результате загрузочный модуль может работать на проце ссоре фирмы Intel в среде операционной системы Windows NT. Для того чтобы перенести приложение в среду операционной системы компьютера Macintosh, программист вносит необход имые изменения в исходные тексты приложения. Эти изменения необходимы и з-за различий в программном интерфейсе операционной системы Windows NT и опера ционной системы, установленной в Macintosh. Далее эти исходные тексты транслир уются и редактируются, в результате чего получается загрузочный модуль, способный работать в среде Macintosh, но не способный работать в среде Windows NT. Программа на языке Java компилируется в двоичный модуль, сос тоящий из команд виртуального процессора Java. Такой модуль содержит байт-к од, предназначенный для выполнения Java-интерпретатором. На настоящий моме нт уже созданы первые модели физического процессора, способного выполн ять этот байт-код, однако интерпретаторы Java имеются на всех основных комп ьютерных платформах. Разумеется, на каждой платформе используется свой интерпретатор, или, точнее говоря, свой виртуальный процессор Java. Если ваше приложение Java (или апп лет) должно работать на нескольких платформах, нет необходимости компил ировать его исходные тексты несколько раз. Вы можете откомпилировать и о тладить приложение Java на одной, наиболее удобной для вас платформе. В резу льтате вы получите байт-код, пригодный для любой платформы, где есть вирт уальный процессор Java. Сказанное иллюстрируется на рис. 5. 2. Рисунок 5. 2. Подготовка приложения Java для работы на раз ных платформах Таким образом, приложение Java к омпилируется и отлаживается только один раз, что уже значительно лучше. Остается, правда, вопрос - как быть с программным интерфейсом операционн ой системы, который отличается для разных платформ? Здесь, на наш взгляд, разработчиками Java предлагается доста точно неплохое решение. Приложение Java не обращается напрямую к интерфейс у операционной системы. Вместо этого оно пользуется готовыми стандартн ыми библиотеками классов, содержащими все необходимое для организации пользовательского интерфейса, обращения к файлам, для работы в сети и та к далее. Внутренняя реализация библиотек классов, разумеется, з ависит от платформы. Однако все загрузочные модули, реализующие возможн ости этих библиотек, поставляются в готовом виде вместе с виртуальной ма шиной Java, поэтому программисту не нужно об этом заботиться. Для операцион ной системы Windows, например, поставляются библиотеки динамической загрузк и DLL, внутри которых запрятана вся функциональность стандартных классов Java. Абстрагируясь от аппаратуры на уров не библиотек классов, программисты могут больше не заботиться о различи ях в реализации программного интерфейса конкретных операционных систе м. Это позволяет создавать по-настоящему мобильные приложения, не требую щие при переносе на различные платформы перетрансляции и изменения исх одного текста. Еще одна проблема, возникающая при переносе программ, сос тавленных на языке программирования С, заключается в том, что размер обл асти памяти, занимаемой переменными стандартных типов, различный на раз ных платформах. Например, в среде операционной системы Windows версии 3.1 переме нная типа int в программе, составленной на С, занимает 16 бит. В среде Windows NT этот р азмер составляет 32 бита. Очевидно, что трудно составлять программу, не зная точно, сколько имеется бит в слове или в байте. При переносе программ на платфор мы с иной разрядностью могут возникать ошибки, которые трудно обнаружит ь. В языке Java все базовые типы данных имеют фиксированную раз рядность, которая не зависит от платформы. Поэтому программисты всегда з нают размеры переменных в своей программе. ЗАКЛЮЧЕНИЕ Язык программирования Java – это полностью объектно-ориентированный язык, который в отношен ии синтаксиса многое унаследовал от С++. Конечно, преимущества Java далеко не исчерпываются межплатформенн остью. Язык Java в синтаксическом отн ошении проще и логичнее, чем С++. Java ка к платформа предоставляет в распоряжение программистов большое количе ство библиотек (пакетов), в которых содержится большое количество описан ий классов и интерфейсов на все случаи жизни. С их помощью можно создават ь стопроцентные приложения Java с во зможностью обращения к базам данных, поддержкой передачи почтовых сооб щений, с клиентской частью, которой необходим web -браузер, или наоборот, с клиентской частью, обладающей изо щренным интерфейсом. Java – это очен ь элегантный и красивый язык. Однако при его использовании проблем также избежать не удастся. Одна из серьезных проблем заключается в том, что при создании сложного приложения на Java вам придется использовать только этот язык для создания всех част ей этого приложения. В Java предусмот рено не так уж много средств для межъязыкового взаимодействия (что понят но ввиду предназначения Java быть ед иным многоцелевым языком программирования). В реальном мире существуют миллионы строк готового кода, которые хотелось бы интегрировать с новым и приложениями на Java . Однако это сде лать очень трудно. Java – это далеко не идеальный язык в о многих ситуациях. Простой пример – если попытаться создать только на Java приложение, активно работающее с 3 D – графикой, скорее всего, вы обнар ужите, что работать такое приложение будет не очень быстро. Подумав, можн о прийти к выводу, что для работы с 3 D – графикой лучше использовать код, написанный на языке с более развитым и низкоуровневыми возможностями (например, на С++). Однако интегрировать т акой код с кодом на Java очень сложно. П оскольку возможности для обращения к API компонентов, созданных на других языках, в Java очень ограничены, говорить о реальном межъязыковом вза имодействии на основе Java не приходи тся. СПИСОК ИСПОЛЬЗ ОВАННЫХ ИСТОЧНИКОВ 1. Бишоп Д. Эффективная работа: Java 2. – СПб.: Питер; К.: Издательская гр уппа BHV , 2002. – 592с.: ил. 2. Д. Вебер Технология Java в подлиннике: пер. с англ. – СПб.: БХВ – Пете рбург, 2001. – 1104 с., ил. 3. Троелсен Э. С# и платформа . NET . Библиотека прграммиста – СПб.: Питер , 2005. – 796 с.: ил.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
- Ты как предпочитаешь заходить на экзамен: с утра или попозже? Со шпорами?
- Накануне с вечера. И с купюрами.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по информатике и информационным технологиям "Обзор языка Java", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru