Java (язык программирования)
Java - это название языка программирования, созданного компанией Sun Microsystems. Эта компания была выкуплена корпорацией Oracle, которая продолжает поддерживать ее в актуальном состоянии. Последняя версия - Java 14, выпущенная в марте 2020 года. Кроме того, единственными поддерживаемыми версиями являются: последняя версия Long Term Support (LTS) Java 11, выпущенная 25 сентября 2018 года; и Oracle выпустила для "унаследованной" Java 8 LTS последнее бесплатное "публичное обновление". Следующая запланированная версия LTS - Java 17 (LTS), запланированная на сентябрь 2021 года.
Java, которая еще при разработке называлась Oak, является объектно-ориентированной, то есть она основана на объектах, которые работают вместе, чтобы заставить программы выполнять свою работу. Java-код выглядит как C, C++ или C#, но код, написанный на этих языках, в большинстве случаев не будет работать на Java без изменений.
Java работает на многих различных операционных системах, включая Android, самую популярную в мире мобильную операционную систему (хотя Java продолжает использоваться на Android, даже ее создатель Google, они больше не предпочитают Java; теперь их предпочитает Kotlin, который также может использоваться со всем кодом Java). Это делает платформу Java независимой. Она делает это, заставляя компилятор Java превращать код в байткод Java, а не машинный код. Это означает, что во время выполнения программы виртуальная машина Java интерпретирует байткод и транслирует его в машинный код.
Java-концепции
Java была разработана для достижения пяти основных целей. Это:
- Java должна быть легкой в изучении, объектно-ориентированной и распределенной.
- Ява должна быть безопасной и сильной.
- Java не должна зависеть от архитектуры компьютера или платформы.
- Ява должна хорошо функционировать.
- На Java должен быть написан интерпретатор, поддерживающий параллелизм и использующий динамический набор текста.
платформа Java
Платформа Java относится к группе программных продуктов компании Sun Microsystems. Платформа используется для разработки и запуска Java-программ. Платформа включает в себя механизм выполнения (называемый Java Virtual Machine), который позволяет Java-программам делать одно и то же на разных компьютерных системах.
Такая возможность разрабатывать программное обеспечение на одной платформе и запускать его на других платформах называется "кросс-платформенной возможностью".
пример Java-программы
Пример Java-программы "Hello World":
Типы Java-программ
Существует множество типов Java-программ, которые работают по-разному:
- Java Applet - небольшая программа, написанная на Java, которая скачивается с сайта и выполняется в браузере на компьютере клиента.
- Приложение - выполняется на клиентском компьютере. Если оно находится в сети, то перед запуском его необходимо загрузить.
- JAR-файл (Java-архив) - используется для упаковки Java-файлов вместе в один файл (почти в точности как .zip-файл).
- Сервлет - работает на веб-сервере и помогает генерировать веб-страницы.
- Swing application - используется для создания приложения, имеющего GUI (окна, кнопки, меню и т.д.).
- EJB - работает на веб-сервере и используется для разработки больших, сложных веб-сайтов.
Преимущества
Java обычно используется, чтобы научить студентов программировать как первый язык, но все же используется и профессионалами.
- Java требует, чтобы каждая переменная была инициализирована. Некоторые старые языки, такие как C, допускают неинициализированные переменные, что может привести к случайным сбоям с загадочными ошибками.
- Java требует, чтобы каждый метод объявлял тип возврата - метод всегда должен возвращать значение, за исключением случаев, когда его тип возврата является недействительным. Это также предотвращает ошибки.
- Java поставляется с большим набором классов и методов, Java API, который можно использовать без необходимости разрабатывать столько кода "с нуля".
- В отличие от C, Java-примитивные типы, такие как int, всегда имеют одинаковый размер в количестве бит, что позволяет достичь кросс-платформенной совместимости.
- Раньше считалось, что Java медленнее C, но в последние годы это стало менее важным, потому что компьютеры быстрее.
- Java имеет обработку исключений, которая требует от программиста обрабатывать такие условия ошибок, как ошибки ввода/вывода.
- Код, скомпилированный на одной платформе Java, может быть запущен на других платформах, поддерживающих Java, без изменения ни исходного кода, ни байт-кода. Это означает, что человек может сделать программу Java для компьютера под управлением Windows и заставить ее работать на компьютере под управлением Linux или Mac.
Критика
Яву также критиковали. Некоторые из критических замечаний:
- Дженерики были добавлены в Java таким образом, чтобы существующий код продолжал работать. Это было сделано с помощью стирания типов. Это означает, что во время компиляции удаляется фактический тип общего аргумента. Это может привести к тому, что интерпретатор Java иногда будет вести себя неожиданно.
- Java не имеет беззнаковых целочисленных типов, которые широко используются в таких языках, как C. Это также означает невозможность прямого обмена числовыми данными между программами на C и Java. Криптография также в некоторой степени опирается на такие типы; это затрудняет написание приложений, использующих криптографию на Java.
- IEEE определил стандарт для арифметики с плавающей точкой, IEE 754. Java поддерживает только часть функций этого стандарта.
Вопросы и ответы
В: Как называется язык программирования, созданный компанией Sun Microsystems?
О: Язык программирования, созданный компанией Sun Microsystems, называется Java.
В: Кто в настоящее время поддерживает и поддерживает Java в актуальном состоянии?
О: Корпорация Oracle в настоящее время поддерживает и обновляет Java.
В: Каковы текущие версии Java для долгосрочной поддержки (LTS)?
О: Текущими версиями Java с долгосрочной поддержкой (LTS) являются версии 17, 11 и 8.
В: Когда была выпущена последняя версия Java?
О: Последняя версия Java, версия 19, была выпущена в сентябре 2022 года.
В: Есть ли еще какая-либо компания, которая поддерживает Java, кроме Oracle?
О: Да, Eclipse Adoptium также поддерживает Java как минимум до мая 2026 года для версии 8 и как минимум до сентября 2027 года для версии 17.
В: Какой тип кода использует Java?
О:Java использует объектно-ориентированный код, что означает, что он основан на объектах, которые работают вместе, чтобы программы выполняли свою работу. Он похож на C, C++ или C#, но код, написанный на этих языках, в большинстве случаев не будет работать без изменений.
В: Как Java делает себя независимой от платформы?
О:Java делает себя платформонезависимой, заставляя компилятор преобразовывать код в специальный формат, называемый байткодом, вместо машинного кода. Это означает, что когда программа выполняется, байткод может быть интерпретирован специальной программой, называемой виртуальной машиной, которая переводит его в машинный код, чтобы он мог работать на различных операционных системах, таких как Android.