W3docs

Введение в программирование на Java

Узнайте, что такое Java, как JVM и JDK работают вместе и какую роль Java играет в современной разработке программного обеспечения.

Java — это универсальный, статически типизированный, объектно-ориентированный язык программирования, разработанный с акцентом на переносимость. Программы компилируются в байткод, который выполняется на Java Virtual Machine (JVM), поэтому один и тот же файл .class может работать на Windows, macOS, Linux и любой другой системе с совместимой установленной JVM. Эта переносимость — отражённая в первоначальном девизе «write once, run anywhere» — по-прежнему является определяющей чертой языка.

Данная глава знакомит с языком, платформой и составляющими экосистемы Java, с которыми вы встретитесь в остальных разделах книги.

Что такое Java

Java была выпущена компанией Sun Microsystems в 1995 году и сейчас находится под управлением Oracle. Синтаксис языка заимствован из C и C++, однако вместо ручного управления памятью используется автоматический сборщик мусора, а такие возможности, как арифметика указателей и множественное наследование классов, — которые часто приводят к ошибкам в низкоуровневых языках — были исключены. В результате получился язык, который легко изучить, сложно сломать и который хорошо подходит для долгосрочных приложений, поддерживаемых большими командами.

Ключевые характеристики, которые вы заметите по мере изучения этой книги:

  • Статическая типизация. Каждая переменная имеет тип, известный на этапе компиляции, поэтому компилятор обнаруживает многие ошибки ещё до запуска программы.
  • Объектно-ориентированность. Код организован вокруг классов, объединяющих данные с методами, которые с ними работают.
  • Переносимость. Исходный код компилируется в платформенно-нейтральный байткод, исполняемый любой JVM.
  • Управление памятью. Сборщик мусора освобождает объекты, на которые больше нет ссылок.
  • Многопоточность. Потоки, блокировки и современные утилиты для работы с параллелизмом являются частью стандартной библиотеки.
  • Обратная совместимость. Программы, написанные для старых версий Java, почти всегда работают без изменений на более новых.

Где используется Java

Поскольку JVM работает практически на каждом серверном и настольном устройстве, Java проникла в почти все сферы разработки программного обеспечения:

  • Серверные приложения — большинство крупных систем в электронной коммерции, банковском деле и корпоративных бэкендах используют Java (часто совместно со Spring, Jakarta EE или Quarkus).
  • Android-приложения — стандартная библиотека Android в значительной мере является Java API, даже когда приложения написаны на Kotlin.
  • Большие данные и потоковая обработка — Hadoop, Spark, Kafka, Flink, Elasticsearch написаны для JVM.
  • Инструменты и системы сборки — Maven, Gradle, Jenkins и многие CI-инструменты работают на Java.
  • Встроенные системы и IoT — смарт-карты, терминалы оплаты и промышленные контроллеры.

JDK, JRE и JVM

Три аббревиатуры путают начинающих сильнее, чем что-либо другое в Java. Вот что они означают:

  • JVM (Java Virtual Machine) — среда выполнения, которая загружает байткод и исполняет его. Каждая операционная система поставляется со своей нативной JVM.
  • JRE (Java Runtime Environment) — JVM в комплекте с основными библиотеками классов, необходимыми для запуска Java-программ. Это минимум, необходимый для запуска Java-кода.
  • JDK (Java Development Kit) — JRE плюс инструменты для компиляции и отладки Java-кода: javac (компилятор), jshell (REPL), javadoc (документация) и другие.

Для написания программ на Java устанавливается JDK; JRE входит в его состав, поэтому их не нужно устанавливать по отдельности. JDK от Oracle — лишь один из вариантов: OpenJDK является свободной реализацией с открытым исходным кодом, а такие дистрибутивы, как Eclipse Temurin, Amazon Corretto и Azul Zulu, упаковывают тот же OpenJDK с собственной долгосрочной поддержкой. Любой из них подойдёт для кода в этой книге — выберите один и двигайтесь дальше.

Пошаговая настройка описана в разделах Java Install и Java Environment Setup.

Первый взгляд на программу на Java

Полную программу Hello World вы напишете в разделе Java Hello World Program. А пока посмотрите, как выглядит минимальная Java-программа — тот же код, скомпилированный и выполненный на сервере:

java— editable, runs on the server

Несколько вещей, на которые стоит обратить внимание, не вдаваясь пока в детали:

  • Каждая программа находится внутри класса (здесь — Hello).
  • Выполнение начинается в методе main с сигнатурой public static void main(String[] args).
  • Операторы заканчиваются точкой с запятой, а блоки заключены в фигурные скобки { ... }.
  • System.out.println выводит строку в стандартный поток вывода.

Версии Java и цикл выпуска

Начиная с Java 9 (2017 г.) каждые шесть месяцев выходит новая основная версия, а каждые два года — выпуск с долгосрочной поддержкой (Long-Term Support, LTS). Наиболее часто встречающиеся на практике текущие LTS-версии — Java 17 и Java 21. Книга написана с расчётом на Java 21; более ранние версии упоминаются только там, где различие существенно.

Что охватывает эта книга

Последующие главы проведут вас от чистой установки JDK до современного языка: основы синтаксиса, управление потоком, объектно-ориентированное программирование, фреймворк коллекций, исключения, обобщения, лямбды и потоки, ввод-вывод, параллелизм, JDBC, модули, а также новые возможности — записи, запечатанные типы, сопоставление с образцом и виртуальные потоки. Боковая панель группирует главы на 28 частей — читайте их по порядку для планомерного изучения или переходите к нужной теме.

Practice

Практика
Какое утверждение о Java является верным?
Какое утверждение о Java является верным?
Was this page helpful?