Java — объектно-ориентированный язык программирования,созданный инженерами компанией Sun Microsystems . Приложения Java компилируются в специальный байт-код и могут работать на любой виртуальной Java-машине (JVM) независимо от архитектуры компьютера. Дата официального выпуска — 23 мая 1995 года.
воскресенье, 15 апреля 2012 г.
использование
Java используется:
- персональные компьютеры;
- мобильные телефоны, смартфоны и коммуникаторы;
- автомобильные системы навигации;
- принтеры, веб-камеры, игры, приставки;
- финансы и банковское дело;
- медицина;
- производство;
- в бытовой технике.
- логистика и снабжение
- и т.д.
На данный момент язык программирования Java является одним из самых лучших языков программирования, которые доступны серьезным программистам. Потенциально Java имеет все предпосылки, чтобы стать самым популярным языком программирования, однако, вероятно, уже слишком поздно. Когда появляется новый язык программирования, немедленно возникает неприятная проблема его совместимости с программным обеспечением, созданным ранее.
Более того, даже если изменения в эти программы можно внести без вмешательства в их текст, создателям языка, который так горячо приветствовался публикой, как, например, язык Java, сложно прямо сказать: “Да, возможно мы ошиблись при разработке версии Х, но версия Y будет значительно лучше”. В итоге, ожидая появления дальнейших улучшения, мы должны констатировать, что структура языка Java в ближайшем будущем существенно не изменится.
Тогда возникает закономерный вопрос: “Каким же образом удалось так улучшить язык Java?”. Оказывается, что это сделано не за счет усовершенствования собственно языка программирования, а путем коренного изменения библиотек программ, написанных на языке Java.
Компания Sun Microsystems изменила все: начиная с имен отдельных библиотечных функций (сделала их более осмысленными) и методов работы графических модулей (изменив способ обработки событий и частично переписав рабочие программы), и заканчивая созданием новых свойств языка, например, средств вывода информации на печать, которых не было в версии Java 1.0. В результате получилась гораздо более полезная программная платформа, чем все предыдущие версии языка Java.
Компания Microsoft выпустила в свет свой собственный продукт под названием J++, который имеет отношение к языку программирования Java. Язык J++ интерпретируется виртуальной машиной, совместимой с виртуальной машиной языка Java (Java Virtual Machine) при выполнении байт-кода, но интерфейсы с внешними кодами у этих языков значительно различаются.
Языки J++ и Java имеют практически одинаковый синтаксис. Тем не менее, компания Microsoft создала дополнительные языковые конструкции. Все они имеют довольно сомнительную ценность, за исключением разве что интерфейса Windows API.
Также у этих языков одинаковый синтаксис, их основные библиотеки (строки, утилиты, средства сетевого программирования и т.п.), по существу, также совпадают. Однако графические библиотеки, пользовательский интерфейс и доступ к удаленным объектам у этих языков совершенно разные.
В настоящее время компания Microsoft больше не поддерживает язык J++, разработав новый язык C#, который имеет много общего с Java, но использует другую виртуальную машину.
источник: www.codeguru.com.ua
четверг, 5 апреля 2012 г.
История Java.
История Java начинается с 1991 года,когда группа инженеров под руководством Патрика Нотона и Джеймса Гослинга из Sun принялась разрабатывать язык для программирования бытовых устройств.Проект был назван "Green" и должен был быть платформонезависимым, с компактным исходным кодом. Была взята идея виртуальной машины, которая была впервые использована Никлаусом Виртом (создатель языка Pascal).
В основу языка был взят C++ так как разрабатывали язык сотрудники Sun знакомые с Unix.Сначала Гослинг решил назвать язык Oak (Дуб), но оказалось что слово Oak уже используется и поменяли название на Java.
1992 год был выпущен первый продукт устройство дистанционного управления,названный "*7".
1995 год создание браузера HotJava. 1996 год выпуск первой версии Java 1.0.
1998 год выпуск версии Java 2 SE SDK v 1.2.
2000 год выпуск версии Java 1.3.
2004 год выпуск версии Java 1.4.
2004 год выпуск версии Java 5.0. 2006 год выпуск версии Java 6.
1992 год был выпущен первый продукт устройство дистанционного управления,названный "*7".
1995 год создание браузера HotJava. 1996 год выпуск первой версии Java 1.0.
1998 год выпуск версии Java 2 SE SDK v 1.2.
2000 год выпуск версии Java 1.3.
2004 год выпуск версии Java 1.4.
2004 год выпуск версии Java 5.0. 2006 год выпуск версии Java 6.
Выполнение 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, ознакомьтесь с этой спецификацией.
Другая особенность 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 фирмы IBM.
Подписаться на:
Сообщения (Atom)