Java: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м Featured article link for en:Java programming language
Нет описания правки
Строка 6: Строка 6:
К недостаткам относится тот факт, обработка байтового кода занимает больше времени и системных ресурсов, чем исполнение готовой программы.
К недостаткам относится тот факт, обработка байтового кода занимает больше времени и системных ресурсов, чем исполнение готовой программы.
Для устранения данного недостатка широко применяется технология JITs (Just-In-Time compilers) позволяющая переводить байт-код в машинный код во время исполнения программы с возможностью сохранения версий класса в машинном коде, а также аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например технология Jazelle, поддерживаемая некоторыми процессорами фирмы [[ARM]]).
Для устранения данного недостатка широко применяется технология JITs (Just-In-Time compilers) позволяющая переводить байт-код в машинный код во время исполнения программы с возможностью сохранения версий класса в машинном коде, а также аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например технология [[Jazelle]], поддерживаемая некоторыми процессорами фирмы [[ARM]]).


Внутри Java существуют 3 основных платформы:
Внутри Java существуют 3 основных платформы:

Версия от 14:11, 23 сентября 2005

Java (джава, ява, жарг. жаба) — объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Язык разрабатывался для программирования бытовой электроники, но впоследствии яву стали использовать для написания апплетов, приложений и серверного программного обеспечения.

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

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

К недостаткам относится тот факт, обработка байтового кода занимает больше времени и системных ресурсов, чем исполнение готовой программы. Для устранения данного недостатка широко применяется технология JITs (Just-In-Time compilers) позволяющая переводить байт-код в машинный код во время исполнения программы с возможностью сохранения версий класса в машинном коде, а также аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

Внутри Java существуют 3 основных платформы:

  • J2ME — Java 2 Mobile Edition, для использования в бытовой технике;
  • J2SE — Java 2 Standard Editon, для стандартных программ;
  • J2EE — Java 2 Enterprise Editon, для создания серверного обеспечения уровня предприятия.

Прежняя версия JVM от Microsoft (аналог SUN JVM v.1.1.3) во многом отступает от стандартов языка, предложенных Sun Microsystems, с целью проприетарной поддержки платформы Windows. Впоследствии это явилось поводом для судебных исков со стороны Sun Microsystems к Microsoft. В настоящее время между двумя компаниями достигнуты договорённости вплоть до снятия взаимных судебных претензий и произведено взаимное кросс-лицензирование технологий. По версии Microsoft будет поддерживаться спецификация MS-J# соответствующая спецификации SUN-JVM J2SE.

Основные возможности

  • встроенные простые классы, такие как массив, список, стек и т.п.
  • наличие классов, позволяющих создавать http-запросы и ответы.
  • унифицированный доступ к базам данных на основе JDBC и SQLJ

История создания

Язык 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), начальника Нотона.

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

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

Команда приступила к разработке нового объектно-ориентированного языка программирования, который был назван 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-продуктов.

Ссылки


Шаблон:Link FA