Java — сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года. На 2019 год Java — один из самых популярных языков программирования.

Программы, написанные на Java, имеют репутацию более медленных и занимающих больше оперативной памяти, чем написанные на языке C. Тем не менее, скорость выполнения программ, написанных на языке Java, была существенно улучшена с выпуском в 1997—1998 годах так называемого JIT-компилятора в версии 1.1 в дополнение к другим особенностям языка для поддержки лучшего анализа кода (такие, как внутренние классы, класс StringBuffer, упрощенные логические вычисления и т. д.). Кроме того, была произведена оптимизация виртуальной машины Java — с 2000 года для этого используется виртуальная машина HotSpot. По состоянию на февраль 2012 года, код Java 7 приблизительно в 1,8 раза медленнее кода, написанного на языке Си.

Некоторые платформы предлагают аппаратную поддержку выполнения для Java[75]. К примеру, микроконтроллеры, выполняющие код Java на аппаратном обеспечении вместо программной JVM, а также основанные на ARM процессоры, которые поддерживают выполнение байткода Java через опцию Jazelle.

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

- Автоматическое управление памятью.
- Расширенные возможности обработки исключительных ситуаций.
- Богатый набор средств фильтрации ввода-вывода.
- Набор стандартных коллекций: массив, список, стек и т. п.
- Наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI).
- Наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы.
- Встроенные в язык средства создания многопоточных приложений, которые потом были портированы на многие языки (например Python).
- Унифицированный доступ к базам данных
- Поддержка обобщений (начиная с версии 1.5).
- Поддержка лямбд, замыканий, встроенные возможности функционального программирования (с 1.8).