Что входит в состав архитектуры Java?



Архитектура Java объединяет процесс компиляции и интерпретации. В этой статье я расскажу вам о различных компонентах архитектуры Java.

Архитектура Java объединяет процесс компиляции и интерпретации. Он объясняет различные процессы, задействованные при формулировании . Прежде чем я начну с темы, позвольте мне познакомить вас с повесткой дня этой статьи.

Указанные ниже указатели будут нашими темами для обсуждения:





Давайте начнем с понимания, что такое архитектура Java?



Что такое архитектура Java?

Здесь я объясню вам архитектуру Java в простые шаги.

  • В Java есть процесс компиляции и интерпретации.
  • Код, написанный на , преобразуется в байтовые коды, что выполняется компилятором Java.
  • Затем байтовые коды преобразуются JVM в машинный код.
  • Машинный код выполняется непосредственно машиной.

Эта диаграмма иллюстрирует внутреннюю работу кода Java или, точнее, архитектуры Java!



JVM - Архитектура Java - EdurekaТеперь давайте углубимся в архитектуру Java и поговорим о различных .

Компоненты архитектуры Java

Язык Java состоит из трех основных компонентов: JVM, JRE и JDK .

Виртуальная машина Java, среда выполнения Java и Java Development Kit соответственно.

Позвольте мне подробно рассказать о каждом из них по очереди:

использование пакетов в java

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

Вы когда-нибудь слышали о WORA? (Напишите один раз Run Anywhere). Ну, приложения Java называются WORA из-за их способности запускать код на любой платформе. Это сделано только из-за JVM. JVM - это компонент платформы Java, который обеспечивает среду для выполнения программ Java. JVM интерпретирует байт-код в машинный код, который выполняется на машине, на которой выполняется программа Java.

Итак, вкратце, JVM выполняет следующие функции:

  • Загружает код
  • Проверяет код
  • Выполняет код
  • Обеспечивает среду выполнения

Теперь позвольте мне показать вам архитектуру JVM. Поехали!

Пояснение:

Загрузчик классов : Загрузчик классов - это подсистема JVM. Он используется для загрузки файлов классов. Всякий раз, когда мы запускаем java-программу, загрузчик классов сначала загружает ее.

Область метода класса : Это одна из областей данных в JVM, в которой будут храниться данные класса. Статические переменные, статические блоки, статические методы, методы экземпляра хранятся в этой области.

Куча : Куча создается при запуске JVM. Он может увеличиваться или уменьшаться в размере во время работы приложения.

что такое сериализация в Java

Стек : Стек JVM известен как стек потоков. Это область данных в памяти JVM, созданная для одного потока выполнения. Стек JVM потока используется потоком для хранения различных элементов, то есть локальных переменных, частичных результатов и данных для вызова метода и возврата.

Собственный стек : Он включает в себя все собственные методы, используемые в вашем приложении.

Механизм исполнения:

  • Jit-компилятор
  • Уборщик мусора

JIT-компилятор: В Компилятор Just-In-Time (JIT) является частью среды выполнения. Это помогает повысить производительность приложений Java путем компиляции байт-кодов в машинный код во время выполнения. Компилятор JIT включен по умолчанию. Когда метод компилируется, JVM напрямую вызывает скомпилированный код этого метода. Компилятор JIT компилирует байт-код этого метода в машинный код, компилируя его «как раз вовремя» для запуска.

Уборщик мусора: Как следует из названия, Уборщик мусора означает собрать неиспользованный материал. Что ж, в JVM эту работу выполняет сборка мусора. Он отслеживает каждый объект, доступный в пространстве кучи JVM, и удаляет ненужные.
Сборщик мусора работает в два простых шага, известных как Mark и Sweep:

  • Отметить - здесь сборщик мусора определяет, какая часть памяти используется, а какая нет.
  • Развертка - удаляет объекты, идентифицированные на этапе «отметки».

Среда выполнения Java:

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

Комплект для разработки Java:

Java Development Kit (JDK) - это среда разработки программного обеспечения, используемая для разработки приложений и апплетов Java. Он содержит JRE и несколько инструментов разработки, интерпретатор / загрузчик (java), компилятор (javac), архиватор (jar), генератор документации (javadoc) в сопровождении другого инструмента.

Синяя область, показанная на диаграмме, - это JDK. А теперь позвольте мне рассказать вам обо всех инструментах разработки.

Ява : это пусковая установка для всех приложений Java.
javac : компилятор языков программирования java.
javadoc : это генератор документации API.
банка : создает и управляет всеми файлами JAR.

Двигаясь вперед с архитектурой Java, давайте поймем, насколько платформа Java независима?

Насколько независима платформа Java?

Когда какой-либо язык программирования называется платформо-независимым? Что ж, если и только если он может работать на всех доступных операционных системах в отношении его разработки и компиляции.
Сейчас же, Ява не зависит от платформы только из-за байт-кода. Позвольте мне рассказать вам, что такое байт-код? Проще говоря,
Байт-код - это машинно-понятный код JVM.
Выполнение байт-кода в Java доказывает, что это независимый от платформы язык.
Здесь я покажу вам шаги, связанные с выполнением байт-кода Java.

Ниже приводится объяснение необходимых шагов:

sample.java → javac (sample. class) → JVM (sample.obj) → окончательный вывод

Первый исходный код используется компилятором java и конвертируется в файл .class. Код файла класса находится в форме байтового кода, и этот файл класса используется JVM для преобразования в объектный файл. После этого вы можете увидеть окончательный результат на своем экране.

Продвигаясь вперед в статье об архитектуре Java, давайте разберемся с концепцией JIT в Java .

JIT в Java

Компилятор Just In Time, широко известный как JIT, в основном отвечает за оптимизацию производительности приложений на основе Java во время выполнения. Производительность приложения зависит от компилятора.
Вот простая диаграмма, показывающая происходящий внутренний процесс.

как подключить базу данных mysql в java

JIT-компилятор - Архитектура Java - Edureka

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

На этом я подошел к концу статьи об архитектуре Java. Я надеюсь, что вышеупомянутые темы добавили ценность вашим знаниям Java. Следите за новыми статьями!

Теперь, когда вы разобрались с основами Java, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога «Архитектура Java и ее компоненты», и мы свяжемся с вами в ближайшее время.