

JAVA
Java— сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года.
На 2019 год Java — один из самых популярных языков программирования
Java


Изучение Java в одном видео уроке за час!

Видеокурс по Java и Андроид | Презентация курса

Уроки Java для начинающих | #1 - Программирование на Java

Уроки Java для начинающих | #2 - Установка Java JDK и IntelliJ IDEA
Основные особенности языка
Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят снижение производительности. Ряд усовершенствований несколько увеличил скорость выполнения программ на Java:
-
применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,
-
широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,
-
аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами архитектуры ARM).
По данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java-машиной было в 10—30 раз больше, чем программой на C/C++. Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и бо́льшее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на C++
Идеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине. Эти идеи нашли также выражение в спецификации обще-языковой инфраструктуры CLI, заложенной в основу платформы .NET компанией Microsoft.
Основные возможности
-
Расширенные возможности обработки исключительных ситуаций.
-
Богатый набор средств фильтрации ввода-вывода.
-
Наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI).
-
Наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы.
-
Встроенные в язык средства создания многопоточных приложений, которые потом были портированы на многие языки (например Python).
-
Унифицированный доступ к базам данных:
-
на уровне концепции объектов, обладающих способностью к хранению в базе данных — на основе Java Data Objects (англ.) и Java Persistence API.
-
Поддержка обобщений (начиная с версии 1.5).
-
Поддержка лямбд, замыканий, встроенные возможности функционального программирования (с 1.8).