Открыть сервисСервис

Java — язык программирования

Java — объектно-ориентированный язык программирования, созданный компанией Sun Microsystems в 1995 году. Относится к классу компилируемых языков с промежуточной байт-кодовой виртуальной машиной. Ключевые характеристики: платформенная независимость (принцип «write once, run anywhere»), автоматическое управление памятью (сборка мусора), строгая типизация, многопоточность на уровне языка. Java — один из наиболее распространённых языков программирования в мире, особенно в корпоративной разработке, мобильных приложениях (Android) и серверных системах.

История

Java была разработана в 1991 году в Sun Microsystems группой инженеров под руководством Джеймса Гослинга (James Gosling), Майкла Шердана (Mike Sheridan) и Патрика Нейтона (Patrick Naughton). Первоначально проект назывался «Green» и был нацелен на создание языка для программирования бытовых электронных устройств. Первое название языка — Oak (дуб), впоследствии переименованное в Java в честь кофе Java с острова Ява.

В 1995 году Sun Microsystems выпустила Java 1.0 с девизом «Write Once, Run Anywhere» — «напиши один раз, запусти где угодно». Идея заключалась в том, что программы компилируются не в машинный код конкретной платформы, а в промежуточный байт-код, который исполняется виртуальной машиной Java (JVM), установленной на целевой системе.

В 2009 году Sun Microsystems была приобретена корпорацией Oracle. С 2010 года Java развивается под управлением Oracle, а с 2017 года — по схеме OpenJDK с участием сообщества и коммерческих партнёров. Начиная с Java 11 (2018) Oracle перешла на полугодовой цикл выпуска новых версий с LTS-релизами (Long-Term Support) каждые три года.

Технические особенности

Байт-код и JVM

Программы на Java компилируются в байт-код — набор инструкций, исполняемых виртуальной машиной Java. JVM транслирует байт-код в машинный код конкретной платформы во время выполнения (JIT-компиляция). Это обеспечивает кроссплатформенность: один и тот же файл .class или .jar работает на Windows, Linux, macOS и других системах при наличии соответствующей JVM.

Синтаксис и типы

Синтаксис Java во многом основан на C++, но упрощён: исключены множественное наследование классов, операторы перегрузки, указатели, операции с битовыми полями структур. Типизация строгая, статическая. Основные примитивные типы: byte, short, int, long, float, double, char, boolean. Все объекты создаются в куче (heap), ссылки на них — на стеке.

Управление памятью

Разработчик не освобождает память вручную. Сборщик мусора (Garbage Collector) автоматически освобождает объекты, на которые больше нет ссылок. В современных JVM используются поколенческие сборщики (G1, ZGC, Shenandoah), обеспечивающие минимальные паузы.

Многопоточность

Java поддерживает многопоточность на уровне языка через класс Thread, интерфейс Runnable, а также библиотеку java.util.concurrent с высокоуровневыми примитивами синхронизации.

Стандартная библиотека

Java поставляется с обширной стандартной библиотекой (Java Standard Edition API), включающей:

  • коллекции (java.util: ArrayList, HashMap, LinkedList и др.);
  • ввод-вывод (java.io, java.nio);
  • сеть (java.net);
  • работу с базами данных через JDBC;
  • графический интерфейс (AWT, Swing, JavaFX);
  • обработку XML и JSON;
  • регулярные выражения.

Применение

Корпоративная разработка

Java — один из основных языков enterprise-разработки. Ключевые технологии: Jakarta EE (ранее Java EE), Spring Framework, Hibernate. На Java написаны банковские системы, ERP-системы, высоконагруженные серверные платформы.

Android

С 2008 года Java является основным языком разработки приложений для Android (наряду с Kotlin, официально поддерживаемым с 2017 года). Android SDK построен на JVM-подобной среде ART (Android Runtime).

Веб-разработка

Java используется на серверной стороне веб-приложений: Servlets, JSP, Spring Boot, Jakarta EE. Многие крупные интернет-сервисы написаны на Java.

Другие области

Java применяется в научных вычислениях, IoT, облачных платформах, системах распределённых вычислений (Hadoop, Kafka, Elasticsearch написаны на Java или JVM-языках).

Экосистема и инструменты

Основные среды разработки: IntelliJ IDEA, Eclipse, NetBeans. Системы сборки: Maven, Gradle. Популярные JVM-языки: Kotlin, Scala, Groovy, Clojure — они компилируются в байт-код и работают в той же JVM.

Статистика

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

История версий (выборочно)

ВерсияГодОсобенности
1.01995Первый релиз
5.02004Generics, аннотации, перечисления
8.02014Лямбда-выражения, Stream API
112018LTS, модульная система
172021LTS, записи (records), pattern matching
212023LTS, виртуальные потоки

Источники

  • James Gosling, Bill Joy, Guy Steele, Gilad Bracha. The Java Language Specification.
  • Oracle Java Documentation.
  • «Java: The Complete Reference», Herbert Schildt.
  • TIOBE Programming Community Index.
  • Stack Overflow Developer Survey.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru