Именно Java использовалась при создании популярных средств разработки ПО: IntelliJ Idea, Eclipse, Netbeans. А также бизнес-объектов SAP, системы отслеживания ошибок Jira (которая также используется как система управления проектами) и многого другого.
Какие известные приложения написаны на Java?
На Java также пишут корпоративные приложения для создания программного обеспечения, такие как JetBrains IntelliJ Idea, Jira, NetBeans, RubyMine, Eclipse и другие.
Какие программы были написаны на С?
С помощью языка с++ написаны такие популярные продукты как Google Chrome веб бразуер, Adobe Creative Suite средства для работы видео, аудио и графики, всем известные Microsoft Office, игра World of Warcraft с использованием самого мощного графического движка и с помощью С++ она работает быстро, хотя и обрабатывается .
Какие сервисы написаны на Java?
- Amazon. Очень популярный интернет магазин. .
- Ebay. Популярный интернет аукцион, серверная часть которого также использует Java. .
- РЖД Довольно крупная компания. .
- Пентагон Как выяснилось, официальный сайт Пентагона также использует Java. .
- Одноклассники .
- PayPal. .
- Media Markt. .
- Adobe.
Где и для чего применяется Java?
Java прежде всего — это язык, который используется для серверных приложений в крупных корпорациях. . Например, такие банки как Deutsche Bank, Citigroup, Barclays, Goldman Sachs и многие-многие другие используют Java для написания бэк-энд и фронт-энд офисных электронных систем и т.
5 популярных игр и их языки программирования
На чем написаны популярные приложения?
Java. С момента появления Java стал основным языком для разработки мобильных приложений на Android. Он обеспечивает кросс-платформенную поддержку. Кроме того, приложения на Java легко перенести на различные операционные системы.
Что можно сделать с помощью С?
На C++ можно писать всё: драйверы устройств; программы для устройств IoT; десктопные прикладные программы: игры, бизнес-приложения. серверы для сетевых служб и многое другое.
Какие программы пишут на С ++?
C++ используется во всех сферах деятельности программирования: от высоконагруженных систем до программирования микроконтроллеров. На С++ можно написать как web-сервер, так и игры, любые компьютерные программы, компоненты и так далее.
Что можно сделать с помощью питона?
- Работа с xml/html файлами
- Работа с http запросами
- GUI (графический интерфейс)
- Создание веб-сценариев
- Работа с FTP.
- Работа с изображениями, аудио и видео файлами
- Робототехника
- Программирование математических и научных вычислений
Где используется Java 2020?
Java применяется повсеместно при разработке самых разных проектов, включая сервисы для настольных систем, мобильные приложения и игры, а также в таких модных секторах ИТ-рынка, как big data и IoT (Internet of Things).
В чем преимущества Java?
Java — это объектно-ориентированный язык. Это позволяет создавать модульные программы, исходный код которых может использоваться многократно. Язык Java не зависит от платформы. Одним из основных преимуществ языка Java является возможность переноса программ из одной системы в другую.
Источник: dmcagency.ru
История языка программирования Java
Язык Java имеет интересную и непростую историю создания и развития с начала 1990-х годов. Первоначально Java язык вовсе не предусматривался в качестве языка программирования для прикладного программного обеспечения.
Язык разрабатывался для программирования бытовых устройств. Создание языка Java тесно связано с именем James Arthur Gosling (Джеймс Артур Гослинг), которого часто называют «Доктор Ява», канадского ученого, известного как основателя и ведущего дизайнера языка Java.
Команда для разработки нового языка
Платформа и язык Java начинались как внутренний проект в Sun Microsystems в декабре 1990 года, предоставляя альтернативу языкам программирования C и C++. Инженер Patrick Naughton (Патрик Нотон, американский разработчик программного обеспечения) организовал команду, в которую входили Джеймс Гослинг (James Gosling), Майк Шеридан (Mike Sheridaп), Крис Уарт (Chris Warth) и Эд Франк (Ed Frank).
Команда начала работу над Green Project предусматривающим разработку операционной системы для электронных бытовых устройств. В разработке и развитии нового языка приняли участие немало других специалистов: Билл Джой (Bill Joy), Артур ван Хофф (Arthur van Hoff), Джонатан Пэйн (Jonathan Payne), Франк Йеллин (Frank Yellin) и Тим Линдхольм (Тlm Lindholm) которые внесли основной вклад в развитие исходного прототипа Java.
Поиск базы для нового языка
Первоначально команда рассматривала возможность использования модифицированного языка C++, но отклонила его по причинам требовательности к объемам памяти и высокой сложности. Отсутствие в С++ сборки мусора означало, что программистам приходилось вручную управлять системной памятью, сложной и подверженной ошибкам задачей. Тем более что они разрабатывали встроенную систему с ограниченными ресурсами. Наконец, они хотели получить платформу, которую будет легко портировать на любые типы устройств. Но все же синтаксис Java во многом заимствован из C и C ++, а объектно-ориентированные функции смоделированы на основе языков С++, Smalltalk and Objective-C.
Язык программирования Oak
Разработкой нового языка вплотную занимался Джеймс Гослинг и изначально назвал его Оak (в переводе с английского Дуб). Рядом с офисом разработчика действительно рос дуб. Наверное Джеймс, работая в офисе, поглядывал в окно и видя крепкий дуб, излучающий здоровье и долголетие, решил назвать новый язык в честь зеленого дерева. К лету 1992 года команда смогла продемонстрировать части новой платформы, включая операционную систему Green OS, язык Oak, библиотеки и аппаратное обеспечение.
Их первая попытка, продемонстрированная 3 сентября 1992 года, была сосредоточена на создании устройства PDA (Personal Digital Assistant, карманный компьютер) под названием Star7, которое имело графический интерфейс и смарт-агента под названием «Duke» для помощи пользователю. Карманный компьютер Star7 был принципиально новым устройством, которое намного опередило своё время, но из-за высокой стоимости не смогло произвести переворот в мире технологии и постепенно было забыто. Возможно, в настоящее время именно оно вернулось к нам в виде умных андроид устройств.
Происхождение названия Java
1994 году язык Oak был переименован в виду того, что название «Oak» уже использовалось как торговая марка компании Oak Technology (американская организация, поставщик электронных компонентов). Oak был переименован в Java, в честь марки кофе которое получило название одноименного острова Ява. Поэтому на официальной эмблеме изображена чашка с горячим кофе. Существует и другая версия происхождения названия языка, связанная с шутливым намеком на кофе-машину как пример бытового устройства, для программирования которых изначально язык и создавался. Наконец Java 1.0 была окончательно выпущена в 1996 году.
Предпосылки Java
До появления языка Java программистам, приходилось выбирать между языками, которые обеспечивали только узкий спектр характеристик. Первые языки программирования BASIC, COBOL и FORTRAN были разработаны без учета принципов структурирования. Структурированный язык Pascal не был предназначен для написания разнообразных программ. Язык С++ частично решал эти проблемы. Но трудность применения С и С++ состоит в том, что написанные на них программы должны компилироваться для конкретной платформы.
Пытаясь найти решение этих проблем, Джеймс Гослинг и другие разработчики начали работу над переносимым, не зависящим от конкретной платформы языком. Исходный код, созданный на таком языке, должен был выполняться на разнотипных процессорах в различных операционных системах. И в итоге их усилия привели к созданию первого в мире кроссплатформенного языка под названием Java.
Концепции языка Java
- простота
- безопасность
- переносимость
- объектная ориентированность
- надежность
- многопоточность
- архитектурная нейтральность
- интерпретируемость
- высокая производительность
- распределённость
- динамичность
Java и С++
Многие особенности Jаvа унаследованы от языков С и С++. Вместе с тем языку Java присущи значительные практические и концептуальные отличия. Хотя С++ оказал влияние на характеристики Jаvа, но всё же язык программирования Java не является усовершенствованной версией С++. Разумеется, у него немало сходств с языком С++, и в исходном коде программы на Java программист С++ будет чувствовать себя почти как дома.
Но есть и коренные отличия двух языков: программа на C++ компилируется только для конкретной среды выполнения, что делает C++ зависимым от платформы языком. В Java исходный код сначала преобразуется в байт-код во время компиляции. Этот байт-код затем интерпретируется интерпретатором и средой выполнения для создания выходных данных, которые делают Java независимым от платформы языком. Язык Jаvа предназначен не для замены С++, а для решения других задач, для которых язык С++ не годится.
Java и C#
Платформа .NET представляет собой примерно то же самое, что и виртуальная машина Java (JVM) и библиотеки Java, а язык C# имеет явное сходство с языком Java. Вне всяких сомнений это лучшее, что создала компания Microsoft в области языков и сред программирования. Впервые с момента своего появления y Java появился реальный соперник.
Языки C# и Java появились в разное время. Язык Java был создан задолго до появления C#. Таким образом, если Java создавался, опираясь в большей степени на опыт языков Objective-C и C, С++, то для C# такой опорой уже являлись C++ и сам Java. И, несмотря на своё название, C# оказался ближе к Java, чем к C++.
С точки зрения разработчика языки Java и C# очень похожи. Оба языка являются строго типизированными, объектными. Оба языка опираются на сборку мусора. Оба языка сопровождаются богатыми коллекциями библиотек. Но есть в языках также свои особенности и различия. C# учёл многие недостатки Java, и исправил их в своей реализации.
Но и Java не стоит на месте, развиваясь параллельно с C#.
Современный Java
И сегодня Java остается в лидерах языков программирования. Индекс TIOBE Programming Community — показатель популярности языков программирования, обновляемый ежемесячно. Рейтинги основаны на количестве квалифицированных инженеров по всему миру, курсов и сторонних поставщиков. Популярные поисковые системы также используются для расчета рейтинга.
Если взять статистику с 2000 по 2020 годов видно, что язык программирования Java уверенно держится в лидерах, не опускаясь ниже 3-его места. У Java программистов рынок труда один из самых больших. Кроме того, высокая популярность языка означает, что в интернете по нему легко можно найти практически любую информацию.
В мире не может быть более распространенного компьютерного кода, чем на Java. Java везде — практически на каждом мобильном устройстве, сервере, ИТ-системе и сети. Язык Java используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код. Для такой компиляции используется Android SDK, разработанный компанией Google.
В настоящее время язык и платформа Java активно развивается. 3 миллиарда устройств работают под управлением Java—дома, в автомобиле и офисе. 12 миллионов разработчиков Java по всему миру. Недавно было объявлено, что для Java будет использоваться шестимесячный цикл выпуска. Java сегодня успешна, потому что даже код, написанный 20 лет назад, совершенно точно работает.
Общий вывод получается таким: насчёт «самого популярного» языка можно спорить, но что Java «один из самых популярных» — безусловно.
- https://ru.wikipedia.org/wiki/Java
- https://en.wikipedia.org/wiki/Oak_(programming_language)
- https://www.oracle.com/ru/index.html
- https://www.educba.com/c-plus-plus-vs-java/
- Книга: Библиотека профессионала Java. Кей Хорстманн, Гари Корнелл, 9 издание
- Книга: Java 8 Полное руководство, Герберт Шилдт, 9 издание
- Книга: Философия Java, Брюс Эккель, 4-е полное издание
Похожая тематика
- История языка программирования JavaScript
- История языка программирования С и C++
- История языка программирования C#
- История языка Python
- История языка программирования Basic и Visual Basic
Источник: www.interestprograms.ru
Java
Java — объектно-ориентированный язык программирования, выпущенный компанией Sun Microsystems в 1995 году как основной компонент платформы Java. Сейчас языком занимается компания Oracle, которая приобрела Sun Microsystems в 2009 году. Синтаксис языка во многом похож на C и C++. В официальной реализации, Java приложения компилируются в байт-код, который при выполнении интерпретируется виртуальной машиной для конкретной платформы.
Oracle предоставляет компилятор Java и виртуальную машину Java, которые удовлетворяют спецификации Java Community Process, под лицензией GNU General Public License.
Язык значительно позаимствовал синтаксис с C и C++. В частности, взята за основу объектная модель С++, однако ее модифицировали. Устранена возможность появления некоторых конфликтных ситуаций, которые могли возникнуть из-за ошибки программиста. Ряд действий, которые в С/C++ должны осуществлять программисты, поручены виртуальной машине.
Прежде, Java разрабатывалась как платформо-независимый язык, поэтому она имеет меньше низкоуровневых возможностей для работы с аппаратным обеспечением. При необходимости таких действий Java позволяет вызывать подпрограммы, написанные на других языках программирования.
Java повлияла на развитие J++, который разрабатывался компанией Microsoft. Работа над J++ была остановлена из-за судебного иска компании Sun Microsystems, поскольку этот язык программирования был модификацией Java. Позже в новой платформе Microsoft.NET появился J#, облегчающий миграцию программистов J++ или Java на новую платформу.
Со временем новый язык программирования С#, стал основным языком платформы, переняв многое из Java. J# включался в версию Microsoft Visual Studio 2005. Язык сценариев JavaScript имеет схожее с Java название и синтаксис, но не связан с Java.
- 1 История
- 2 Платформа Java
- 3 Обьектность
- 4 Безопасность
- 5 Автоматическое управление памятью
- 6 Структура Java-приложения
- 6.1 Лексическая структура
- 6.2 Типы данных
- 8.1 Google
История
История версий
Язык программирования Java зародился в 1991 г. в лабораториях компании Sun Microsystems. Разработку проекта начал Джеймс Гослинг, сам проект назывался «Green» (Зеленый). Создание первой рабочей версии, которая называлась «Oak» (дуб), заняло 18 месяцев. Поскольку оказалось, что имя Oak уже использовалось другой фирмой, то в результате длительных споров вокруг названия нового языка среди ряда предложенных было выбрано название Java [1] , в 1995 году язык был официально переименован. [2]
Главным мотивом создания Java была потребность в языке программирования, которая не зависела от платформы (то есть от архитектуры) и которую можно было бы использовать для создания программного обеспечения, которое встраивается в различные бытовые электронные приборы, такие как мобильные средства связи, устройства дистанционного управления и тому подобное.
Довольно скоро почти все популярные тогдашние браузеры получили возможность запускать «безопасные» для системы Java-апплеты внутри веб-страниц. В декабре 1998 года Sun Microsystems выпустила Java 2, где было реализовано несколько конфигураций для различных типов платформ. Например, J2EE предназначалась для создания корпоративных приложений, а значительно урезана J2ME для приборов с ограниченными ресурсами, таких как мобильные телефоны.
13 ноября 2006 года Sun выпустили большую часть Java в качестве свободного и открытого программного обеспечения в соответствии с условиями GNU General Public License (GPL). 8 мая 2007 года корпорация закончила процесс, в результате которого все исходные коды Java были выпущены под GPL, за исключением небольшой части кода, на который Sun не было авторского права.
Период становления Java совпал по времени с расцветом международной информационной службы World Wide Web. Это обстоятельство сыграло решающую роль в будущем Java, поскольку Web тоже требовала платформо-независимых программ. Как следствие, были смещены акценты в разработке Sun из бытовой электроники на программирование для Интернета.
Платформа Java
Под «независимостью от архитектуры» имеется в виду то, что программа, написанная на языке Java, может работать на любой поддерживаемой аппаратной или системной платформе без изменений в исходном коде и перекомпиляции.
Этого можно достичь, компилируя начальный Java-код в байт-код, который представляет собой упрощенные машинные команды. Затем программу можно выполнить на любой платформе, имеет установленную виртуальную машину Java, которая интерпретирует байт-код в код, приспособленный к специфике конкретной операционной системы и процессора. Сейчас виртуальные машины Java существуют для большинства процессоров и операционных систем.
Стандартные библиотеки обеспечивают общий способ доступа к таким платформозависимым особенностям, как обработка графики, многопоточность и работу с сетями. В некоторых версиях для увеличения производительности JVM байт-код можно компилировать в машинный код до или во время выполнения программы.
Основное преимущество использования байт-кода — это портативность. Тем не менее, дополнительные расходы на интерпретацию означает, что интерпретированы программы будут почти всегда работать медленнее, чем скомпилированные в машинный код, и именно поэтому Java получила репутацию «медленного» языка. Однако, этот разрыв существенно сократился после введения нескольких методов оптимизации в современных реализациях JVM.
Одним из таких методов является англ. just-in-time (JIT) компиляция, которая превращает Java байт-код в машинный при первом запуске программы, а затем кэширует его. В результате, такая программа запускается и выполняется быстрее, чем простой интерпретированный код, но ценой дополнительных затрат на компиляцию во время выполнения.
Сложные виртуальные машины также используют динамическую перекомпиляцию, которая заключается в том, что ВМ анализирует поведение запущенной программы и выборочно рекомпилирет и оптимизирует некоторые ее части. С использованием динамической рекомпиляции можно достичь большего уровня оптимизации, чем за статической компиляции, поскольку динамический компилятор может делать оптимизации на базе знаний об окружающей среде периода выполнения и о загружены классы. К тому же, он может обнаруживать так называемые горячие точки — части программы, чаще всего внутренние циклы, которые занимают больше всего времени при выполнении. JIT-компиляция и динамическая рекомпиляция увеличивает скорость Java-приложений, не теряя при этом портативности.
Дюк, талисман Java
Существует еще одна технология оптимизации байт-кода, широко известная как статическая компиляция. Этот метод предполагает, как и традиционные компиляторы, непосредственную компиляцию в машинный код. Это обеспечивает хорошие показатели по сравнению с интерпретацией, но за счет потери переносимости: скомпилированную таким способом программу можно запустить только на одной, целевой платформе.
Скорость официальной виртуальной машины Java значительно улучшилась с момента выпуска ранних версий, к тому же, некоторые испытания показали, что производительность JIT компиляторов по сравнению с обычными компиляторами в машинный код почти одинакова. Однако эффективность компиляторов не всегда свидетельствует о скорости выполнения скомпилированного кода, только тщательное тестирование может выявить истинную эффективность в данной системе.
Обьектность
В противоположность C++, Java — объектно-ориентированный язык. Все данные и действия группируются в классы объектов. Исключением из полной объектности является примитивные типы (int, float и т. д.). Это было сознательным решением проектировщиков языка для увеличения скорости. Поэтому, Java не считается полностью объектно-ориентированным языком.
В Java все объекты являются производными от главного объекта (он называется просто Object), из которого они наследуют базовую поведение и свойства.
Хотя в C++ впервые стало доступно множественное наследование, но в Java возможно только одинарное наследование, благодаря чему исключается возможность конфликтов между членами класса (методы и переменные), которые наследуются от базовых классов.
Безопасность
В намерениях проектировщиков Java была заменить C++ — объектного преемника языка C. [3] Проектировщики начали с анализа свойств C++, которые являются причиной наибольшего числа ошибок, чтобы создать простой, безопасный и безотказный язык программирования.
В Java существует система обработки исключительных ситуаций, например:
- операции над элементом массива за его пределами или над пустым элементом
- чтение с недоступного каталога или неправильного адреса URL
- ввод недопустимых данных пользователем
Одна из особенностей концепции виртуальной машины заключается в том, что ошибки (исключения) не приводят к полному краху системы. Кроме того, существуют инструменты, которые «присоединяются» к среде периода исполнения и каждый раз, когда произошло определенное исключение, записывают информацию из памяти для отладки программы. Эти инструменты автоматизированной обработки исключений предоставляют основную информацию о исключений в программах на Java.
Однако, язык программирования Java не рекомендуется использовать в системах, сбой в работе которых может привести к смерти, травмам или значительных физических повреждениям (например, программное обеспечение для управления атомными электростанциями, полетами, системами жизнеобеспечения или системами вооружения) из-за ненадежности программ, написанных на языке программирования Java. [4]
Автоматическое управление памятью
Java использует автоматический сборщик мусора для управления памятью во время жизненного цикла объекта. Программист решает, когда создавать объекты, а виртуальная машина ответственная за освобождение памяти после того, как объект становится ненужным. Когда к определенному объекту уже не остается ссылок, сборщик мусора автоматически убирать его из памяти. Однако, утечка памяти все же может произойти, если код, написанный программистом, имеет ссылки на уже ненужные объекты, например на объекты, хранящиеся в действующих контейнерах.
Сбор мусора разрешен в любое время. В идеале оно происходит во время бездействия программы. Сборка мусора автоматически форсируется при недостатке свободной памяти в куче для размещения нового объекта, что может приводить к кратковременному зависанию. Поэтому существуют реализации виртуальной машины Java с уборщиком мусора, специально созданным для программирования систем реального времени.
Java не имеет поддержки указателей в стиле C/C++. Это сделано для безопасности и надежности, чтобы позволить сборщику мусора перемещать объекты.
Структура Java-приложения
Структура программы
Программы на Java образованы из классов и интерфейсов. Классы содержат переменные и константы, которые содержат данные, методы, которые выполняют действия, и конструкторы, которые создают экземпляры классов — объекты. Данные могут получить тип (например байт, целое число, символ) или быть ссылкой на объект. Язык Java является статически типизированным.
Лексическая структура
Java-программы записываются в кодировке Unicode, также предоставляется лексическое преобразование, которое позволяет записывать символы Юникода руководящими кодами Unicode с помощью только множества символов ASCII. Язык Java представляет текст последовательностями 16-битных кодовых единиц, используя кодирование UTF-16. За исключением комментариев, идентификаторов и содержания символьных и строчных литералов, все входящие элементы программы на Java состоят из символов ASCII или соответствующих им руководящих кодов Unicode.
Типы данных
Ссылочные типы данных
Java является строго типизированным языком, каждая переменная и выражение имеет тип, известный на этапе компиляции.
Типы данных Java принадлежат к двум категориям: простые (primitive) и определителю (reference). К простым типов принадлежит логический (логический) тип, числовые типы и символьный тип.
Числовые типы состоят из целых типов byte, short, int, long и действительных типов float, double. Символьный тип представлен типом char. Определителю типа состоят из классов, интерфейсов, массивов. Значением вказивникового типа есть указатель на объект — экземпляр класса или массива. Строки являются объектами класса String.
Критика
Критика Java касается заимствования синтаксиса из C/C++ , использование обобщений, быстродействия, обработки чисел без знака, реализации вычислений чисел с плавающей точкой, больших массивов и др.
Использование другими компаниями
При создании Android (операционной системы с открытым кодом) Google взяла за основу Java. Несмотря на то, что операционная система, построенная на ядре Linux, была написана в основном на C , Android SDK использует Java для разработки приложений для платформы Android.
7 мая 2012 года суд Сан-Франциско обнаружил, что если API защищено авторским правом, то Google, используя Java в Android, нарушает авторские права Oracle. [5] Был поднят вопрос о правовом статусе использования Java в Android-устройствах. Однако, уже 31 мая того же года федеральный судья США постановил, что API не могут быть защищены авторским правом. [6]
Графический интерфейс пользователя
Для реализации графического интерфейса (GUI) в Java существуют два основных пакета классов: [7]
- Abstract Window Toolkit (AWT)
- Swing
Преимуществами первого является простота использования, интерфейс подобен интерфейсу операционной системы и несколько лучше быстродействие, поскольку базируется на средствах ОС, правда имеет ограниченный набор графических элементов. Второй пакет Swing реализует собственный Java-интерфейс. Этот пакет создавался на основе AWT, и имеет гораздо больше возможностей и большее количество графических элементов. [8] Swing-компоненты еще называют облегченными, поскольку они написаны полностью на Java и, поэтому, платформонезависимы.
Существуют также сторонние пакеты, самым популярным является Standard Widget Toolkit — стандартный инструментарий виджетов. Разработанный подразделением Rational фирмы IBM и компанией Object Technology International (OTI), сейчас развивается фондом Eclipse.
Источники
- ↑Different Is NOT Always Better, But Better’s Always Different
- ↑The Java History Timeline
- ↑http://java.sun.com/docs/books/tutorial/getStarted/intro/changemylife.html
- ↑Текст лицензии Microsoft
- ↑Mullin, Joe. «Google guilty of infringement in Oracle trial; future legal headaches loom»
- ↑Joe Mullin (31.05.2012). «Google wins crucial API ruling, Oracle’s case decimated». Ars Technica
- ↑Графический интерфейс на Java (Swing GUI Tutorial)
- ↑Feigenbaum, Barry. «SWT, Swing or AWT: Which is right for you? (21.02.2006) «
Литература
- Кей С. Хорстманн. Java SE 8. Вводный курс. «Уильямс». ISBN 978-5-8459-1900-7.
- Кей С. Хорстманн, Гари Корнелл (2013). Java. Библиотека профессионала, том 1. Основы. Девятое издание. «Уильямс». ISBN 978-5-8459-1869-7
- Барри Берд (2013). Программирование на Java для чайников, 3-е издание. «Диалектика». ISBN 978-5-8459-1834-5
- Bruce Eckel (2006). Thinking in Java (4th Edition). Prentice Hall PTR. ISBN 978-0131872486
- Joshua Bloch (2008). Effective Java (2nd Edition). Prentice Hall PTR. ISBN 978-0321356680
- James Gosling; Bill Joy, Guy Steele, Gilad Bracha (2005). The Java Language Specification, Third Edition. Addison-Wesley. ISBN 0-321-24678-0
Источник: cyclowiki.org