Java — строго типизированный объектно-ориентированный язык программирования общего назначения, разработанный компанией Sun Microsystems. Разработка ведётся сообществом, организованным через Java Community Process; язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle.
Шаблон проектирования — повторяемая архитектурная конструкция в сфере проектирования программного обеспечения, предлагающая решение проблемы проектирования в рамках некоторого часто возникающего контекста.
MIDP — профиль для мобильного устройства с информационными функциями. MIDP определяет понятие мидлета — компактного приложения на языке Java, имеющего небольшой размер, что делает его пригодным для передачи по сети и установки на мобильном устройстве.
Java Virtual Machine — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac). JVM может также использоваться для выполнения программ, написанных на других языках программирования. Например, исходный код на языке Ada может быть скомпилирован в байт-код Java, который затем может выполниться с помощью JVM.
Groovy — объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk.
Эрих Гамма — программист из Швейцарии, один из четырёх авторов классической книги Design Patterns о шаблонах проектирования. Команда авторов книги также известна под названием «банда четырёх». Является ведущим разработчиком JUnit и Eclipse. Работал в IBM над проектом Jazz.
Hibernate — библиотека для языка программирования Java, предназначенная для решения задач объектно-реляционного отображения (ORM), самая популярная реализация спецификации JPA. Распространяется свободно на условиях GNU Lesser General Public License.
Пото́к выполне́ния — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют последовательность инструкций процесса и его контекст — значения переменных, которые они имеют в любой момент времени.
В информатике параллели́зм — это свойство систем, при котором несколько вычислений выполняются одновременно, и при этом, возможно, взаимодействуют друг с другом. Вычисления могут выполняться на нескольких ядрах одного чипа с вытесняющим разделением времени потоков на одном процессоре, либо выполняться на физически отдельных процессорах. Для выполнения параллельных вычислений разработаны ряд математических моделей, в том числе сети Петри, исчисление процессов, модели параллельных случайных доступов к вычислениям и модели акторов.
Примечание — В русскоязычной литературе нередко путаются термины «параллелизм» и «конкурентность». Оба термина означают одновременность процессов, но первый — на физическом уровне, а второй — на логическом.
Роберт Сесил Мартин, также известный как Дядя Боб — американский инженер и программист, консультант и автор в области разработки ПО. Мартин является профессионалом в области разработки ПО с 1970, а с 1990 становится международным консультантом в этой области. В 2001 он организует встречу группы, которая создала гибкую методологию разработки из техник экстремального программирования.
В компьютерных технологиях, программная транзакционная память представляет собой механизм управления параллелизмом, аналогичный механизму транзакций баз данных для управления доступом к совместно используемой памяти в параллельных вычислениях. Это альтернатива для синхронизации на основе блокировки. Транзакция в этом контексте является частью кода, который выполняет считывание и запись в разделяемую память. Считывание и запись логически происходит в единичный момент времени, а промежуточные состояния невидимы для других (результативных) транзакций. Идея обеспечения транзакций аппаратной поддержкой зародилась в 1986 году в работе и патенте Тома Найта. Идея получила публичное освещение благодаря Морису Херлихи и Элиоту Моссу. В 1995 году Нир Шавит и Дэн Тойту дополнили эту идею до программной транзакционной памяти (SТМ). STM по-прежнему находится в центре интенсивных исследований; возрастает её поддержка для практических реализаций.
Кент Бек — разработчик программного обеспечения, создатель таких методологий разработки ПО как экстремальное программирование (XP) и разработка через тестирование (TDD). Бек был одним из 17 специалистов, подписавших Agile Manifesto в 2001 году.
Модель памяти Java описывает поведение потоков в среде исполнения Java. Модель памяти — часть семантики языка Java, и описывает, на что может и на что не должен рассчитывать программист, разрабатывающий ПО не для конкретной Java-машины, а для Java в целом.
Nashorn — движок JavaScript, разрабатываемый полностью на языке программирования Java компанией Oracle. Основан на Da Vinci Machine и доступен в составе Java 8.
Язык программирования Java и JVM разработаны с поддержкой параллельных вычислений, и все вычисления выполняются в контексте потока. Несколько потоков могут совместно использовать объекты и ресурсы; каждый поток выполняет свои инструкции (код), но потенциально может получить доступ к любому объекту в программе. В обязанности программиста входит координация потоков во время операций чтения и записи разделяемых объектов. Синхронизация потоков нужна для того, чтобы гарантировать, что одновременно к объекту может обращаться только один поток, и чтобы предотвратить обращение потоков к неполностью обновленным объектам в то время, как с ними работает другой поток. В языке Java есть встроенные конструкции поддержки синхронизации потоков.
Concurrent ML (CML) — статически типизированный язык конкурентного программирования высшего порядка, встраиваемый в язык общего назначения Standard ML.
Джошуа Блох — программный инженер и писатель, бывший работник компании Sun Microsystems и Google. Он возглавлял разработку и реализацию различных функционалов платформы Java, включая фреймворк коллекций Java Collections, пакет java.math и механизм assert.
Java User Group (JUG) — сообщество пользователей языка программирования Java, а также, в некоторых случаях, и других языков для JVM. Большинство JUG-ов привязаны к определенной локации, чаще всего — к стране или городу: SouJava (Бразилия) LJC, PhillyJUG, Morocco JUG (Марокко), JUG.ru. Кроме того, существуют вариации JUG, не привязанные к конкретной локации, а проводимые онлайн: Virtual JUG. Люди, которые возглавляют JUG-и, называются JUG-лидерами.
Scripting for the Java Platform — это спецификация фреймворка для встраивания скриптов в исходный код Java. Этот механизм используется для исполнения из программ на Java кода на других языках программирования.