hostprofi.ru
Подобрать хостинг
Термин·буква J

Java

краткое определение

Java — компилируемый объектно-ориентированный язык программирования компании Sun Microsystems (теперь Oracle). Работает на виртуальной машине JVM (Java Virtual Machine), что обеспечивает «Write Once, Run Anywhere» — один код запускается на любой ОС с JVM. Используется в enterprise-системах, Android, Big Data.

Java — строго типизированный объектно-ориентированный язык программирования, разработанный Джеймсом Гослингом в Sun Microsystems и выпущенный в 1995 году. Компилируется в байт-код JVM (Java Virtual Machine), а не в нативный машинный код. JVM выполняет байт-код на любой платформе с установленной средой исполнения — это и есть принцип «Write Once, Run Anywhere (WORA)».

Как работает

Цепочка выполнения: .java → javac → .class (байт-код) → JVM → нативный код через JIT-компилятор. HotSpot JVM (стандартная Oracle/OpenJDK) автоматически компилирует часто выполняемые методы (hot code) в нативный код — это устраняет разрыв в производительности между Java и C/C++ для длительно работающих приложений.

Экосистема Java:

  • JDK (Java Development Kit) — инструменты разработчика (javac, jar, javadoc).
  • JRE (Java Runtime Environment) — среда выполнения (только JVM + библиотеки).
  • OpenJDK — открытая реализация; Oracle JDK (коммерческая). Начиная с Java 11 разница минимальна.
  • Maven / Gradle — системы сборки и управления зависимостями.

Фреймворки: Spring Boot (основной для REST API и микросервисов), Hibernate (ORM), Quarkus, Micronaut (для cloud-native). Серверы приложений: Apache Tomcat (сервлет-контейнер), WildFly, WebSphere. На Linux-серверах Java-приложения управляются через systemd.

История

Java создана командой «Oak» под руководством Джеймса Гослинга в Sun Microsystems с 1991 года. Публичный выпуск — 1995 год. Java 1.2 (1998) ввёл Swing и Collections Framework. Java 5.0 (2004) — дженерики, аннотации, enum, autoboxing. Java 8 (2014) — лямбды, Stream API, Optional. Java 11 (2018) — LTS, первая версия без бесплатного Oracle JDK. Java 21 (2023) — актуальная LTS с Virtual Threads (Project Loom), Record Patterns, Sequenced Collections.

Java в хостинге

Java-приложения требуют VPS или выделенного сервера — JVM не запускается на shared hosting. Часто перед Tomcat ставят nginx как обратный прокси. Минимальные ресурсы для Spring Boot: 512 МБ ОЗУ (с опцией -Xmx256m), рекомендуется 1-2 ГБ. Время холодного старта JVM — 2-10 секунд. GraalVM Native Image компилирует Java-приложение в нативный бинарник без JVM: старт за 50-100 мс, потребление памяти снижается в 5-10 раз. Для контейнеризации используют Docker с образами eclipse-temurin:21-jre.

На что обращать внимание

Java LTS-версии (8, 11, 17, 21) — рекомендованы для production. Non-LTS релизы выходят каждые 6 месяцев с поддержкой 6 месяцев. JVM heap tuning: -Xms (начальный heap), -Xmx (максимальный heap), -XX:+UseG1GC (G1 Garbage Collector — рекомендован с Java 9+). Spring Boot использует PostgreSQL или MySQL через JPA/Hibernate. Для микросервисов рассмотрите Quarkus или Micronaut — они быстрее стартуют и потребляют меньше памяти, чем Spring Boot.

Java в корпоративном хостинге

Java — де-факто стандарт для корпоративных систем в банках, страховых и государственных компаниях. Spring Boot обеспечивает встроенный сервер (Tomcat/Netty), поэтому приложение деплоится как самодостаточный JAR-файл без отдельной установки Tomcat. На VPS с 4 ГБ ОЗУ комфортно работает 2-3 Spring Boot микросервиса. Мониторинг JVM: Spring Actuator + Prometheus + Grafana — стандартный стек для наблюдаемости Java-приложений.

Другие термины