Java
Что это такое
Java — статически типизированный компилируемый язык, который выполняется на виртуальной машине: исходный код компилируется в байт-код, а виртуальная машина исполняет его и попутно управляет памятью, загружает классы и оптимизирует горячий код прямо во время работы программы. Получается язык, многословный по современным меркам и необычно предсказуемый в долгоживущих проектах с большими командами, — поэтому он остаётся выбором по умолчанию в корпоративной серверной разработке.
Почему это важно
Виртуальная машина — причина, по которой Java всё ещё выбирают: зрелая среда выполнения со сборщиком мусора и JIT-компилятором, которую настраивают два десятилетия и которая работает на любой операционной системе и архитектуре. Код компилируется один раз и выполняется всюду, где есть подходящая среда выполнения, а программа, проработавшая недели, оптимизирована настолько, насколько это возможно. Однако плата — память и время запуска, а ещё язык, чья церемония — типы, видимость, проверяемые исключения — одним командам кажется тяжёлой, а другим проясняющей.
Что в этом треке
- Язык и JVM (05-backend-data/04-java/01-the-language-and-the-jvm) — что компилируется, что выполняется и как это исполняет виртуальная машина.
- Объекты и проектирование типов (05-backend-data/04-java/02-objects-and-type-design) — классы, интерфейсы, обобщения и давление, которое система типов оказывает на проектирование.
- Сборка и зависимости (05-backend-data/04-java/03-builds-and-dependencies) — инструменты сборки и экосистема зависимостей вокруг языка.
- Корпоративные серверные приложения (05-backend-data/04-java/04-enterprise-backends) — конвенции фреймворков, которые определили облик большинства серверных приложений на Java.
Предварительные требования
Нет.
Что читать дальше
- Программирование на Python (05-backend-data/03-python-programming) — контраст с динамической типизацией и более частый выбор для сценариев.
- Go (05-backend-data/05-go) — компилируемый язык, задуманный проще, с более быстрым запуском, и частый заменитель сервисов на JVM.
- Серверная часть (05-backend-data/01-server-side) — место, где выполняется большая часть кода на Java.