Java

 

Java — строго типизированный объектно-ориентированный язык программирования общего назначения, разработанный компанией Sun Microsystems. Разработка ведётся сообществом, организованным через Java Community Process; язык и основные реализующие его технологии распространяются по лицензии GPL.

 

Преимущества Java

 

Кроссплатформенность. У Java есть специальная программа, исполняющая код, — виртуальная машина Java или Java Virtual Machine. Написали программный код один раз — работает с любой аппаратной платформой или операционной системой.

Комьюнити. Как мы уже сказали, Java — достаточно распространённый язык: им пользуется большое количество разработчиков, и решение практически любой проблемы, которая может возникнуть при работе с Java, уже кто-то придумал. Благодаря тысячам библиотек и форумов, можно найти готовое решение почти в любой ситуации.

Надёжность. Язык Java строго типизирован. То есть любая переменная или выражение имеет определённый тип уже на момент компиляции, что упрощает выявление каких-либо проблем. Компилятор сам подсказывает программисту, где тот допускает ошибку, и не даёт её совершить.

Объектно-ориентированность. Все библиотеки, написанные когда-либо для Java, — это классы, которые отвечают за функциональность языка. Любое приложение на Java — набор классов, описывающих разные объекты. Это хорошо, потому что позволяет создавать сложные программы, но простые в поддержке.

Относительная простота. C Java не так просто подружиться, как с Python, но он гораздо проще языка С или С++. Функциональность языка обновляется медленно, поэтому можно легко переходить на новые версии — заново изучать не придётся. Java — строго типизированный язык, а значит у новичка всегда будет возможность увидеть ошибку в коде при компиляции.

Гибкость. На Java можно разработать программу любой сложности: интернет-магазин, банковские приложения, высоконагруженные системы и даже искусственный интеллект.

JVM (Java Virtual Machine)

 

Java Virtual Machine — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment. Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java.

 

Программы на Java транслируются в байт-код, который затем выполняется виртуальной машиной Java (JVM). JVM — это программа, которая обрабатывает байтовый код и передает инструкции оборудованию как интерпретатор. Достоинством подобной реализации является независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует JVM.

 

Достаточно сильные позиции у Java ранее были в нативной мобильной разработке под Android, но сейчас Java там вытесняется языком Kotlin, который также работает поверх JVM, но обладает большей лаконичностью и типобезопасностью по сравнению с Java.

 

Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.