Основы Java: введение в язык программирования

Изначально Java был языком программирования, изобретенным Sun Microsystems Джеймсом Гослингом. Сегодня Oracle владеет Sun, а значит и Java. Таким образом, Java является товарным знаком Oracle.

Со временем Java превратилась в нечто большее, чем просто язык. Это полноценная платформа с множеством стандартных API, API с открытым исходным кодом, инструментами, большим сообществом разработчиков с миллионами разработчиков и т. д.

Когда люди говорят о Java, они часто ссылаются на несколько разных частей общей концепции. Это потому, что Java — это больше, чем просто язык программирования. Для новичка все эти «значения» могут сбивать с толку, поэтому я кратко объясню их, чтобы вы знали, о чем говорят программисты. Наиболее распространенные концепции:

  • Язык
  • Байт-код
  • Виртуальная машина Java(JVM)
  • API
  • Java Runtime Environment(JRE)
  • Java Developer Kit(JDK)
  • Java Standard Edition
  • Java Enterprise Edition(JEE)
  • Серверы приложений
  • Java Micro Edition(JME)
  • апплеты
  • JavaFX

Язык Java

Прежде всего Java — это язык программирования. Это означает, что существует спецификация языка, которая явно указывает, какие элементы являются частью самого языка.

Файлы Java хранятся в файлах с суффиксом .java. Затем эти файлы компилируются в байт-код с использованием компилятора, а затем байт-код выполняется с использованием виртуальной машины JVM. Компилятор и JVM являются частью Java Development Kit.

Байт-код

  • Java-программы компилируются в байт-код, который может выполняться виртуальной машиной.
  • Байт-код хранится в двоичных файлах .class.

Виртуальная машина

Ява — это интерпретируемый язык. Что это значит? Ну, язык скомпилирован в байт-код. Этот байт-код затем выполняется виртуальной машиной.

Виртуальная машина похожа на компьютер. Она может выполнять байт-код так же, как ПК может выполнять инструкции ассемблера.

Виртуальная машина реализована для нескольких различных операционных систем, таких как Windows, Mac OS, Linux т. д. Иногда существуют специфические проблемы ОС, из-за которых ваши приложения ведут себя по-разному, но в большинстве случаев они ведут себя очень похоже. Sun назвала это «Пиши один раз, беги куда угодно».

Виртуальная машина — это сама программа. Вы запускаете JVM и сообщаете ему, какой код выполнять. Обычно это делается через интерфейс командной строки(CLI), например, bash или интерфейс командной строки в Windows. В командной строке вы указываете JVM, какой класс Java(байт-код) выполнять.

API

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

Стандартные API предоставляют множество базовых функций, которые в противном случае вам пришлось бы программировать самостоятельно. Таким образом, API-интерфейсы помогают быстрее разрабатывать приложения.

Стандартные API доступны для всех приложений. Стандартные API поставляются в комплекте с Java Runtime Environment(JRE) или с Java SDK, который также включает JRE.

Java Runtime Environment

Java Runtime Environment(JRE) — это виртуальная машина и стандартные API, поставляемые с JSE. JRE содержит достаточно для выполнения приложения, но не для его компиляции.

Комплект разработки программного обеспечения(SDK)

Java Software Development Kit(Java SDK) — это JRE плюс компилятор и набор других инструментов.

Если вам нужно разрабатывать программы, вам нужен полный SDK. JRE не достаточно тогда. Только полный SDK содержит компилятор, который превращает ваши исходные файлы .java в файлы байт-кода .class.

Кроме того, некоторым серверам Java могут понадобиться инструменты в JDK, например, для компиляции JSP(страниц сервера) в байт-код. В этом случае недостаточно запустить сервер с JRE. Вы должны использовать полный SDK, чтобы на сервере были доступны дополнительные инструменты из SDK.

Standard Edition

Java превратилась в три различных набора API или «профилей», как некоторые любят называть их:

  • Java Standard Edition для настольных и автономных серверных приложений.
  • Выпуск Java Enterprise Edition для разработки и выполнения компонентов Java, работающих на встроенном сервере Java.
  • Java Micro Edition для разработки и выполнения приложений Java на мобильных телефонах и встроенных устройствах.

Java Standard Edition содержит базовые API-интерфейсы для автономных приложений для настольных компьютеров и командной строки. Существует и JRE, и JDK для стандартной версии.

Java Enterprise Edition(JEE)

Java Enterprise Edition содержит множество дополнительных инструментов и API для выполнения компонентов внутри Enterprise Server. Примеры корпоративных компонентов:

  • сервлеты
  • Страницы Java-сервера(JSP)
  • Java Server Faces(JSF)
  • Enterprise Java Beans(EJB)
  • API очереди сообщений службы сообщений

Серверы приложений

Java Enterprise Edition является только спецификацией. Поставщики программного обеспечения, такие как IBM, Oracle и т. д., Могут свободно применять эту спецификацию. И они есть. Их реализации обычно называют серверами приложений, поскольку серверы способны запускать приложения, предлагая множество стандартизированных услуг для этих приложений.

Java Micro Edition

Java Micro Edition — это версия, предназначенная для небольших и встроенных устройств, таких как КПК, мобильные телефоны и т. д.

Сегодня(2019) наиболее популярной платформой для мобильных телефонов является платформа Google Android. Кстати, Android не использует Java Micro Edition.

Апплеты

Java-апплет — это программа, которая загружается и выполняется в веб-браузере. Таким образом, апплеты могут быть частью веб-приложения.

Сегодня апплеты в значительной степени вымерли(за исключением популярной игры Minecraft). HTML5 и JavaScript стали любимым способом выполнения кода в браузере.

Сегодня большинство разрабатывают на стороне сервера, на серверах приложений или на других серверных платформах, таких как Vert.x или платформа Play.

JavaFX

JavaFX является платформой RIA(Rich Internet Application). Это похоже на апплеты, но с гораздо большим количеством функций и с совершенно другим API GUI. JavaFX был вдохновлен Flex(Flash) и Silverlight для .NET(Microsoft).

Оцените статью