Перевод материала "The history and evolution of Java" по книге "Java: the complete reference, seventh edition» by Herbert Schildt"

The birth of modern programming. The creation of Java. Апплеты языка Джава. Безопасность, мобильность, магические свойства, сервлеты. Терминология Джава: простота, объектная ориентированность, надежность, многопоточность, архитектурная нейтральность.

Рубрика Иностранные языки и языкознание
Вид курсовая работа
Язык русский
Дата добавления 06.11.2020
Размер файла 63,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

C++ был изобретён Бьерном Страуструпом в 1979-ом году, пока он работал в лаборатории Белла (ныне финско-американская корпорация)в городе МюррейХилл, штат Нью-Джерси. Страуструп изначально назвал новый язык «С с классами».Однако в 1983 году название было изменено на C++. Язык C++ имеет более широкие возможности в отличие от С благодаря добавлению объектно-ориентированных функций. А поскольку C++ построен на основе C, он включает в себя все функциональные возможности, свойства и преимущества C. Это одна из важнейших причин успеха C++ как языка программирования. Изобретение C++ не было следствием попытки создать что-то совершенно новое. Наоборот это было повышением уровня возможностей уже весьма успешного языка.

Предпосылки к созданию Джава

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

Создание языка Джава

Проект по созданию программы Джава был задуман группой программистов Джеймсом Гослингом, Патриком Нортоном, Крисом Уортом, Эдом Фрэнком и Майком Шериданом в американской компании Сан Майкросистемс в 1991 году. На разработку первой рабочей версии ушло 18 месяцев. Изначально этот язык назывался «Oak», но в 1995 году его переименовали в «Джава».Между первой попыткой внедрения языка «Oak» в 1992 году и официальным объявлением о разработке языка «Джава» весной 1995-го года многие специалисты внесли свой вклад в доработку и развитие языка. Билл Джой, Артур ван Гофф, Джонатан Пэйн, Франк Йеллин и Тим Линдгольм сделали основную работу в развитии исходного прототипа Джава.

Немного удивительно, что первоначальным мотивом для создания Джава был не Интернет! Главной причиной была необходимость в не зависящем от конкретной платформы (то есть архитектурно-нейтральным) языке, который можно было бы использовать для создания программного обеспечения для встраивания в бытовые электронные устройства, такие как микроволновая печь и дистанционно-управляемые приборы. Как вы могли предположить, в качестве контроллеров используется множество различных типов процессоров. Проблема C++ и C (и большинства других языков) состоит в том, что они были разработаны для компилирования определенной платформой. Хотя можно скомпилировать программу C++ практически для любого типа процессора, для этого требуется полный компилятор C++, предназначенный для этого процессора. Проблема в том, что компиляторы являются дорогостоящими и отнимают много времени. Требовалось более простое и экономичное решение. Пытаясь найти его, Гослинг и другие специалисты начали работу над портативным, независимым от платформы языком, который мог бы быть использован для создания кода, который будет работать на различных процессорах в различных средах. Это и привело в конечном итоге к созданию Джава.

Говоря о времени прорабатывания деталей Джава, появляется второй, и в конечном счёте самый важный фактор, который сыграет решающую роль в будущем Джава. Это Всемирная сеть. Если бы сеть не сформировалась приблизительно в то же время, когда Джава имела большую известность, то программа, возможно и осталась бы полезным, но была бы неизвестным языком в среде программирования бытовой электроники. Однако с появлением Всемирной сети Джава выдвинулась на передний план разработки компьютерных языков, поскольку сеть тоже требовала портативных программ.

Большинство программистов в начале своей карьеры узнают, что портативные программы настолько же недостижимы, насколько и желательны. Хотя необходимость в способах создания эффективных, портативных (независимых от конкретной платформы) программ существовало с самого начала, она уступила место другим более актуальным проблемам. Кроме того, поскольку в то время большая часть компьютерного мира разделилась на три конкурирующих лагеря Интел, Макинтош и Юникс (UNIX),большинство программистов остались в своих закрепленных границах, и основная потребность в портативном коде была снижена. Однако с появлением Интернета давно забытая проблема портативности вернулась. В конце концов, Интернет состоял из разнообразной вселенной, заполненной различными типами компьютеров, операционных систем и процессоров. И несмотря на то, что к Интернету подключены разные виды платформ, пользователи хотели бы, чтобы все они имели возможность запускать одну и ту же программу. То, что когда-то было неприятной, но малоприоритетной проблемой, стало большой потребностью.

К 1993 году для членов команды разработчиков Джава стало очевидно, что проблемы мобильности, часто встречающиеся при создании кода для встраиваемых контроллеров, также встречаются при попытке создания кода для Интернета. Фактически та же проблема, для решения которой Джава изначально предназначалась в небольших масштабах, могла быть решена и в Интернете в больших масштабах. Это позволило языку Джава перейти от потребительской электроники к интернет-программированию. И вот в то время как стремление к нейтральному с точки зрения архитектуры языку программирования обеспечило создание программы, Интернет в конечном итоге привёл Джава к масштабному успеху.

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

Из-за сходства Джава и C++, может показаться, что Джава- просто "интернет-версия C++". Однако, это совсем не так. Джава имеет значительные практические и философские отличия. Хоть и на Джава повлиял C++, это не расширенная версия С++. Например, Джава никак не совместим с C++. Конечно, сходство с C++ существенно, и если вы программист C++, то с Джававы будете чувствовать себя как дома. Однако, Джава не был разработан для замены C++. Джава был разработан для решения определенного набора проблем, C++ - для решения иного набора проблем, и оба они будут сосуществовать в течение многих лет.

Как отмечалось в начале главы, программные языки развиваются по двум причинам: для адаптации к изменениям в окружающей среде и для реализации достижений в искусстве программирования. Изменениями в среде, вызвавшими создание Джава, стала потребность в независимых от конкретной платформы программах, предназначенных для распространения в Интернете. Однако Джава также изменяет подход к написанию программ. Например, она увеличила и усовершенствовала объектно-ориентированную парадигму, используемую C++, добавил интегрированную поддержку многопоточности и предоставил библиотеку, упрощающую доступ в Интернет. И в конечном итоге не отдельные особенности Джава сделали её столь примечательной. Скорее, это был язык в целом. Джава был идеальным ответом на требования лишь зарождающихся, распределенных на высоком уровне вычислительных систем. Джава была для интернет-программирования тем же, что и C для системного программирования: революционной силой, изменившей мир.

Связь с языком С#

Джава продолжает охватывать мир развития компьютерного языка. Многие его инновационные особенности, конструкции и концепции стали частью основы для любого нового языка. Успех Джава просто слишком знаменателен, чтобы его игнорировать.

Пожалуй, самый заметный пример влияния Джава- C#. Язык С#, созданный компанией Майкрософт для поддержки «.NET Framework», тесно связан с Джава. Это можно заметить по общему синтаксису, поддержке обоими распределенного программирования и использования одной и той же объектной модели. Между Джава и C#, конечно, существуют различия, но общий "вид и содержание" этих языков очень похож. Это "перекрестное опыление" от Джава к C# - самое сильное на сегодняшний день доказательство того, что Джава изменила наше представление о языках программирования.

2.3 Джава изменил интернет

programming java безопасность сервлет

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

2.3.1 Апплеты языка Джава

Апплет - это специальный вид Джава-программы, который предназначен для передачи в сети Интернет, он автоматически выполняется совместимым с Джававеб-браузером. Кроме того, апплет загружается по запросу без дальнейшего взаимодействия с пользователем. Если пользователь нажмет на ссылку, которая содержит апплет, апплет будет автоматически загружен и переведен в браузере.

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

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

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

2.3.2 Безопасность

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

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

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

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

2.4 Магические свойства Джава: байт-код

Ключ, позволяющий Джава решить проблемы безопасности и мобильности, описанные в предыдущей главе, заключается в том, что выходные данные компилятора Джава не являются выполняемым кодом. Скорее, это байт-код. Байт-код- это высоко оптимизированный набор инструкций, предназначенный для выполнения в исполняющей системе Джава, которая называется виртуальной машиной Джава (Java Virtual Machine - JVM).По сути, оригинальный JVM был разработан как переводчик для байт-кода. Это может показаться странным, так как многие современные языки разработаны для компилирования исполняемого кода с целью обеспечения максимальной производительности. Однако тот факт, что программа Джава выполняется JVM, помогает решить основные проблемы, связанные с веб-программами.

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

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

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

Несмотря на то, что Джава был разработан как язык перевода, в Джава нет ничего, что препятствовало бы оперативной компиляции байт-кода в собственный код для повышения производительности. По этой причине появилась технология Хот Спот вскоре после первого выпуска Джава. ХотСпот предоставляет компилятор JIT для байт-кода. Как только JIT-компилятор становятся частью JVM, выбранные части байт-кода компилируются в исполняемый код в режиме реального времени по запросу. Важно понять, что невозможно скомпилировать всю программу Джава в исполняемый код сразу, так как Джава выполняет различные проверки, которые осуществляются именно во время исполнения кода. Вместо этого JIT-компилятор собирает код по мере необходимости во время исполнения. Кроме того, собираются не все последовательности байт-кода, а только те, которые будут выбраны для компилирования. Оставшийся код просто переводится. Как бы то ни было, подход «точно вовремя» все еще приводит к значительному росту производительности. Даже когда динамическая компиляция применяется к байт-коду, функции мобильности и безопасности все равно применимы, поскольку JVM по-прежнему отвечает за среду выполнения.

2.5 Сервлеты: Джава на сервере

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

Сервлеты используются для создания динамически генерируемого содержимого, которое затем отправляетсяна клиент. Например, интернет-магазин может использовать сервлет для поиска цены товара в базе данных. Затем информация о цене используется для динамического формирования веб-страницы, которая отправляется в браузер. И несмотря на то, что динамически генерируемый контент доступен через такие механизмы, как CGI (Common Gateway Interface), сервлет имеет несколько преимуществ, включая рост производительности.

Поскольку сервлеты (как и все Джава-программы) компилируются в байт-код и выполняются JVM, они очень портативны. Таким образом, один и тот же сервлет может использоваться в различных серверных средах. Единственным требованием является поддержка сервером JVM и контейнером для сервлета.

2.6 Терминология Джава

Ни одно обсуждение об истории Джава не заканчивается без рассмотрения терминологии языка. Хотя основными факторами, приведшими ксозданию Джава, являются мобильность и безопасность, другие факторы также играли важную роль в формировании окончательной версии языка. Ключевые понятия Джава, описанные командой специалистов, приведены ниже:

Простота;

Безопасность;

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

Объектная ориентированность;

Надежность;

Многопоточность;

Архитектурная нейтральность;

Интерпретация;

Высокая производительность;

Распределенность;

Динамичность.

Два понятия мы с Вами уже обсуждали: безопасность и мобильность. Давайте изучим и остальные.

2.6.1 Простота

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

2.6.2 Объектная ориентированность

Несмотря на влияние своих предшественников, Джава не стала исходным кодом, для совместимости с каким-либо другим языком. Это позволило команде специалистов свободно конструировать Джавас чистого листа. Благодаря этому, мы добились чистого, полезного, прагматичного подхода к объектам. Свободно заимствуя многие особенности из основных объектно-программных сред последних нескольких десятилетий, Джава удается найти баланс между строгим соблюдением принципа«все элементы программы - есть объект» и более прагматичным принципом «прочь с дороги». Объектная модель в Джава проста и легко расширяема, в то время как элементарные типы данных, как целочисленные, сохраняются в виде высокопроизводительных компонентов, не являющихся объектами.

2.6.3 Надежность

Мультисреда Веб предъявляет необычайно сложные требования к программе, поскольку программа должна надежно выполняться в различных системах. Поэтому возможность создания надежных программ получила высокий приоритет в дизайне Джава. Чтобы обеспечить надежность, Джава ограничивает нас в нескольких ключевых областях, чтобы мы могли найти свои ошибки на раннем этапе разработки программы. При этом Джава освобождает нас от необходимости беспокоиться о многих наиболее распространенных ошибках программирования. Поскольку Джава является строго типовым языком, он проверяет код во время компиляции. Но он также проверяет код во время выполнения. Многие труднопреодолимые баги, которые часто находятся в трудно решаемых исполняющих ситуациях, просто невозможно создать на Джава. Уверенность в том, что написанное вами будет вести себя предсказуемо в различных условиях, является ключевой особенностью Джава.

Для лучшего понимания надежности Джава, рассмотрим две основные причины сбоя программы: ошибки управления памятью и нестандартные ошибочные условия (то есть ошибки времени выполнения). Управление памятью является сложной и утомительной задачей в традиционных средах программирования. Например, в C/C++ программист должен вручную выделить и освободить всю динамическую память. Это часто приводит к проблемам, потому что программисты либо забывают освободить ранее выделенную память, либо, что еще хуже, пытаются освободить часть памяти, которую еще использует другая часть их кода. Джава практически устраняет эти проблемы, управляя выделением и освобождением памяти для нас. (Фактически, освобождение полностью автоматическое, поскольку Джава обеспечивает сбор мусора для неиспользуемых объектов.)Нестандартные условия в традиционных средах обычно возникают в таких ситуациях, как деление на ноль или "файл не найден", и ими приходится управлять с помощью достаточно неудобных и трудночитаемых конструкций. Джава помогает в этих случаях, обеспечивая объектно-ориентированную обработку ошибок. В хорошо написанной программе Джава все ошибки времени выполнения могут - и должны - управляться именно вашей программой.

2.6.4 Многопоточность

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

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

2.6.5 Архитектурная нейтральность

Центральным вопросом для разработчиков Джава была долговечность и портативность кода. Одна из главных проблем, с которой сталкивались программисты, заключалась в том, что нет гарантий если сегодня написать программу, что она будет работать завтра - даже на том же компьютере. Обновление операционной системы, процессора и изменение ресурсов основной системы могли привести к сбою программу. Разработчики Джава приняли несколько твердых решений на языке Джава и JVM, пытаясь изменить эту ситуацию. Их целью стало «написать один раз так, чтобы выполнялось везде, в любое время и всегда.» В большей степени эта цель была достигнута.

2.6.6 Интерпретация и высокая производительность

Как было описано ранее, Джава позволяет создавать перекрестно-платформенные программы путем компиляции в промежуточное представление, называемое байт-кодом. Этот код может быть выполнен в любой системе, реализующей виртуальную машину Джава. Большинство предыдущих попыток перекрестно-платформенных решений делали это за счёт производительности. Как объяснялось ранее, байт-код Джава был тщательно разработан так, чтобы его можно было легко перевести непосредственно в собственный машинный код для очень высокой производительности с помощью компилятора «точно вовремя». Исполняющие системы Джава, предоставляющие эту функцию, не теряют ни одного из преимуществ независимого от платформы кода.

2.6.7 Распределенность

Джава предназначен для распределённой среды Интернета, поскольку обрабатывает протоколы TCP/IP. Фактически, доступ к ресурсу с использованием унифицированного указателя информационного ресурса (URL) не сильно отличается от доступа к файлу. Джава также поддерживает удаленный вызов методов (Remote Method Invocation -RMI). Эта функция позволяет программе вызывать методы в сети.

2.6.8 Динамичность

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

2.7 Эволюция Джава

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

Следующим крупным релизом Джава стал Джава 2, где «2» обозначает «второе поколение». Создание Джава 2 стало роковым событием, ознаменовавшим начало «современной эпохи»Джава. Первый релиз Джава 2 носил номер версии 1.2, это может показаться странным. Причина в том, что изначально она ссылалась на внутренний номер версии библиотек Джава, но затем была обобщена для обозначения всего релиза. Под Джава 2 также упаковали Джава-продукт J2 SE (Java 2 Platform Standard Edition), и номера версий стали применяться к этому продукту.

Джава 2 получила поддержку ряда новых функций, таких как «Swing» и «Collections Framework», а также расширила JVM и различные инструменты программирования. Джава 2 также содержит некоторые особенности устаревших версий. Наиболее важное изменение претерпел класс «Thread», в котором методы suspend(), resume() и stop() устарели.

J2 SE 1.3 стал первым крупным обновлением до первого выпуска Джава 2.По большей части оно состояло в улучшении существующей функциональности и «уплотнении» среды разработки. В целом программы, написанные для версии 1.2 и 1.3, совместимы с исходным кодом. И хотя версия 1.3 содержала меньше изменений, чем предыдущие три основных релиза, она была важна.

Выпуск J2 SE 1.4 также расширил Джава. Этот выпуск содержал несколько важных обновлений, улучшений и дополнений. К пример, были добавлены новое ключевое слово «assert», цепные исключения и подсистему ввода/вывода на основе каналов. Также были введены изменения в структуру коллекций и сетевых классов. Кроме того, на протяжении всего времени вносились многочисленные небольшие изменения. Несмотря на значительное количество новых функций, версия1.4сохранила почти 100% совместимости исходного кода с предыдущими версиями.

Следующий выпуск Java -J2 SE5. Он был революционным. В отличие от большинства предыдущих обновлений Джава, предлагавших важные, но измеряемые улучшения, J2 SE5 кардинально расширил сферу охвата, мощность и диапазон языка. Чтобы понять масштаб изменений, которые J2 SE 5 внес в Джава, рассмотрим следующий список его новых основных возможностей:

Обобщения;

Аннотации;

Автоупаковка и автораспаковка;

Перечисления;

Усовершенствованный цикл «for»в стиле «foreach»;

Аргументы переменной длины (varargs);

Статический импорт;

Форматированный ввод/вывод;

Утилиты параллельной обработки.

В этом списке не указаны незначительные сдвиги и добавочные обновления. Каждый элемент в списке представляет собой значительное дополнение языка Джава. Некоторые, такие как обобщение, расширенные «for» и varargs, вводят новые синтаксические элементы. Другие, такие как Автоупаковка и автораспаковка, изменяют семантику языка. Аннотации придают совершенно новые черты программированию. Во любом случае влияние этих новшеств выходило за рамки их прямых обязанностей. Они изменили сам характер Джава.

Важность новых возможностей выражается в использовании версии с номером«5».Под следующим номером версии Джава подразумевался 1.5.Однако новые возможности были настолько существенными, что сдвиг с 1.4 до 1.5, похоже, не выражал масштабов изменения. Вместо этого было принято решение увеличить номер версии до 5, чтобы подчеркнуть произошедшие в программе изменения. Так, программа получила название J2SE 5, а комплект разработчика получил название JDK 5.Однако для поддержания согласованности было решено использовать 1.5 в качестве своего внутреннего номера версии, который также называют номером версии разработчика. Цифра «5» в «J2SE 5» называется номером версии продукта.

2.7.1 Java SE 6

Новейший выпуск Джава называется Java SE 6, а материал в этой книге был обновлён для отражения этой последней версии Джава. С выходом Java SE 6 компания в очередной раз решила изменить название платформы Джава. Во-первых, обратите внимание, что "2" был сброшен, таким образом, платформа теперь имеет название Java SE, а официальное название продукта - Java Platform, Standard Edition 6.Как и в случае с J2SE 5, 6 в Java SE 6 является номером версии продукта. Внутренний, номер версии разработчика - 1.6.

Java SE 6 строится на основе J2SE 5, с добавлением улучшений. Java SE 6 не меняет никаких основных функций в язык Джава, но он расширяет библиотеки API, добавляет несколько новых пакетов и предлагает улучшения времени выполнения. Что касается этой книги, то наиболее заметны именно изменения в основном API. Многие пакеты имеют новые классы, а другие - новые методы. Эти изменения указаны во всей книге. В общем, выпуск Java SE 6 служит для дальнейшего закрепления достижений, сделанных J2SE 5.

Размещено на Allbest.ru

...

Подобные документы

  • Joseph Niepce as the first photograph. The birth of modern photography. Negative to positive process. The first camera with a uniform mirror lens. Evolution and color photographs. Digital camera, modern functions and main technological boundary.

    презентация [1,2 M], добавлен 25.02.2012

  • Acquaintance with history of creation of the British army, its fighting achievements in wars in the Gulf, Afghanistan, Northern Ireland. The characteristic of a modern condition of Army: formation, structure, categories, distinctions, special forces.

    реферат [82,0 K], добавлен 14.04.2010

  • Развитие дипломатического языка на территории Сербии. Структурно-семантический и функциональный анализ дипломатической лексики. Понятие термина и терминологии. Дипломатическая лексика сербского языка - часть административно-делового функционального стиля.

    курсовая работа [114,6 K], добавлен 21.03.2011

  • Historical background of the History of English. Assimilative Vowel Changes: Breaking and Diphthongisation. Old English phonetics and grammar. Morphological classification of nouns. Evolution of the grammatical system. Personal and possessive pronouns.

    курс лекций [104,6 K], добавлен 23.07.2009

  • The old Germanic languages, their classification and principal features. The chronological division of the History of English. The role of the Wessex dialect. The Norman Conquest and its effect on English. The Germanic languages in the modern world.

    контрольная работа [34,7 K], добавлен 17.01.2010

  • Borrowing as a method of new word formation. History of military borrowing from Latin and Old Norse. The etymology and modern functions of military loanwords. The use of borrowed terms in historical fiction and fantasy genre. Non-military modern meanings.

    курсовая работа [274,2 K], добавлен 08.05.2016

  • Терминология как особый пласт языка. Место термина в языковой системе, его структура. Терминообразование, многозначность и вариантность соответствий в переводе терминов в сфере внешней торговли с английского на русский язык. Термины без эквивалента.

    курсовая работа [87,7 K], добавлен 03.12.2011

  • Перевод предложений с английского языка на русский. Функции окончаний, их грамматические признаки. Определения, выраженные именем существительным. Формы сравнения, перевод неопределенные местоимений. Видовременные формы глаголов и их инфинитивы.

    контрольная работа [15,8 K], добавлен 29.05.2012

  • Чтение, письменный и устный перевод текста с английского языка на русский, с русского языка на английский. Составление англо-русского словаря по специальности. Написание сочинения на тему "At the Barber's". Письменные ответы на вопросы на ангийском языке.

    контрольная работа [19,3 K], добавлен 16.04.2010

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

    дипломная работа [65,6 K], добавлен 26.04.2014

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

    курсовая работа [81,6 K], добавлен 14.03.2015

  • Basic stages of creation and development of web site, his structure and setting, features and component parts. The shortest ways are creations of web site on this stage, necessary for this knowledge and skills. Resources for creation of web site.

    реферат [30,1 K], добавлен 08.03.2010

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

    курсовая работа [59,4 K], добавлен 15.04.2011

  • Concept, history of development and sources of forming of slang as a language of modern youth. Linguistic description of modern slang and ductings of his distribution. Features of functioning of university jargon and slang of the American students.

    курсовая работа [47,8 K], добавлен 23.07.2015

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

    презентация [749,2 K], добавлен 05.11.2015

  • The early twentieth century literature, modernism. Virginia Woolf, James Joyce, David Herbert Lawrence. New period, prose and drama. Angry young men writers. The generation of general discontent. American literature of the middle of the XX-th century.

    учебное пособие [174,2 K], добавлен 09.04.2013

  • Traditional periodization of historical stages of progress of English language. Old and middle English, the modern period. The Vocabulary of the old English language. Old English Manuscripts, Poetry and Alphabets. Borrowings in the Old English language.

    презентация [281,2 K], добавлен 27.03.2014

  • Перевод пассивных конструкций с английского языка на русский. Пассив и пассивные конструкции в английском языке. Заголовки и заголовочные комплексы. Перевод страдательного залога с английского языка на русский. Сфера употребления пассивных конструкций.

    курсовая работа [42,9 K], добавлен 31.10.2011

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

    дипломная работа [110,5 K], добавлен 08.09.2016

  • The linguistic status of the article. Noun: the category of determination. Indefinite meaning expressed by a/an. The definite article the. Cataphoric the as heavily concentrated in non-fiction writing. Percentage use of reference for definite phrases.

    курсовая работа [357,9 K], добавлен 27.04.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.