Какви са компонентите на Java Architecture?



Java Architecture съчетава процеса на компилация и интерпретация. В тази статия ще ви разкажа за различните компоненти на Java Architecture

Java Architecture съчетава процеса на компилация и интерпретация. Той обяснява различните процеси, участващи при формулирането на a . Преди да започна с темата, позволете ми да ви запозная с дневния ред на тази статия.

По-долу посочените указатели ще бъдат нашите теми за дискусия:





Нека започнем, като разберем какво точно представлява Java Architecture?



Какво е Java архитектура?

Тук ще ви обясня архитектурата на java с прости стъпки.

  • В Java има процес на компилация и интерпретация.
  • Кодът, написан на , се преобразува в байтови кодове, което се извършва от Java Compiler.
  • След това байтовите кодове се преобразуват в машинен код от JVM.
  • Кодът на машината се изпълнява директно от машината.

Тази схема илюстрира вътрешната работа на Java код или по-точно Java Architecture!



JVM - Java архитектура - EdurekaСега, нека се задълбочим малко в java архитектурата и да поговорим за различни .

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

Има три основни компонента на езика Java: JVM, JRE и JDK .

Java виртуална машина, Java Runtime Environment и Java Development Kit съответно.

Позволете ми да разгледам всеки един от тях един по един:

Java виртуална машина:

Чували ли сте някога за WORA? (Пишете веднъж Run Anywhere). Е, Java приложенията се наричат ​​WORA поради способността им да изпълняват код на която и да е платформа. Това се прави само заради JVM. JVM е компонент на Java платформа, който осигурява среда за изпълнение на Java програми. JVM интерпретира байт кода в машинен код, който се изпълнява в машината, в която се изпълнява програмата Java.

Така накратко, JVM изпълнява следните функции:

  • Зарежда кода
  • Проверява кода
  • Изпълнява кода
  • Осигурява среда за изпълнение

Сега, нека ви покажа архитектурата на JVM. Ето го!

Обяснение:

Class Loader : Class loader е подсистема на JVM. Използва се за зареждане на файлове от клас. Винаги, когато стартираме java програмата, зареждачът на клас първо я зарежда.

Област на метода на класа : Това е една от Областта с данни в JVM, в която ще се съхраняват данните от класа. Статичните променливи, статичните блокове, статичните методи, методите на екземпляра се съхраняват в тази област.

Куп : Купчина се създава при стартиране на JVM. Може да се увеличи или намали по размер, докато приложението работи.

Стек : JVM стекът е известен като стек на нишки. Това е област с данни в JVM паметта, която е създадена за една нишка за изпълнение. JVM стекът на нишка се използва от нишката за съхраняване на различни елементи, т.е. локални променливи, частични резултати и данни за извикване на метод и връщания.

Роден стек : Той включва всички естествени методи, използвани във вашето приложение.

Двигател за изпълнение:

  • JIT компилатор
  • Колектор за боклук

JIT компилатор: The Компилатор Just-In-Time (JIT) е част от средата на изпълнение. Помага за подобряване на производителността на Java приложенията чрез компилиране на байт кодове в машинен код по време на изпълнение. Компилаторът JIT е активиран по подразбиране. Когато методът се компилира, JVM извиква компилирания код директно. Компилаторът JIT компилира байт кода на този метод в машинен код, като го компилира „точно навреме“, за да се стартира.

Колектор за боклук: Както името обяснява това Събирач на боклук средства за събиране на неизползвания материал. Е, в JVM тази работа се извършва чрез събиране на боклук. Той проследява всеки обект, наличен в купчината на JVM, и премахва нежеланите.
Събирачът на боклук работи в две прости стъпки, известни като Mark и Sweep:

  • Марк - там събирачът на боклук идентифицира коя част от паметта се използва и коя не
  • Размах - премахва обекти, идентифицирани по време на фазата „маркиране“.

Java Runtime Environment:

Софтуерът JRE създава среда за изпълнение, в която могат да се изпълняват Java програми. JRE е системата на диска, която приема вашия Java код, комбинира го с необходимите библиотеки и стартира JVM, за да го изпълни. JRE съдържа библиотеки и софтуер, необходими на вашите Java програми за изпълнение. JRE е част от JDK (която ще проучим по-късно), но може да бъде изтеглена отделно.

Комплект за разработка на Java:

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

Синята област, показана на диаграмата, е JDK. Сега, позволете ми да разработя инструментите за разработка на всички вас.

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

Продължавайки напред с архитектурата на Java, нека разберем как Java платформата е независима?

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

Кога някой език за програмиране се нарича независим от платформата? Е, ако и само ако може да работи на всички налични операционни системи по отношение на нейното разработване и компилация.
Сега, Java е независим от платформата само заради байт кода. Нека ви кажа какво точно представлява байт код? С прости думи,
Bytecode е код на JVM, който е машинно разбираем.
Изпълнението на байт кода в Java доказва, че това е език, независим от платформата.
Тук ще ви покажа стъпките, включени в процеса на изпълнение на байт кода на java.

По-долу е обяснението на участващите стъпки:

sample.java → javac (sample. class) → JVM (sample.obj) → окончателен изход

Първият изходен код се използва от java compiler и се преобразува във .class файл. Кодът на файла на класа е под формата на байт код и този файл на класа се използва от JVM за конвертиране в обектен файл. След това можете да видите крайния изход на вашия екран.

изключение от нулев указател в примерната програма на java

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

JIT в Java

Компилаторът Just In Time, известен като JIT, основно отговаря за оптимизирането на производителността на приложения, базирани на Java, по време на изпълнение. Ефективността на приложението зависи от компилатора.
Ето една проста диаграма, която ви показва вътрешния процес.

JIT Compiler - Java Architecture - Edureka

JIT компилаторът компилира байтовия код на метода в машинен код, като го компилира “Just In Time” за изпълнение. Когато методът се компилира, JVM извиква компилирания код директно.
Нека се потопим по-дълбоко:
Байтовият код трябва да бъде интерпретиран или компилиран според правилните машинни инструкции в зависимост от предоставения набор от инструкции. Също така, те могат да бъдат директно изпълнени, ако архитектурата на инструкциите се базира на байтов код. Тълкуването на байт кода влияе върху скоростта на изпълнение.
За да подобрят производителността, JIT компилаторите си взаимодействат с Java Virtual Machine (JVM) по време на изпълнение и компилират подходящи поредици от байт кодове в собствен машинен код (както е показано на диаграмата). Докато използва JIT компилатор, хардуерът е в състояние да изпълни родния код, в сравнение с това JVM да интерпретира една и съща последователност от байт кодове многократно и да натоварва за процеса на превод.

С това стигнах до края на тази статия за Java Architecture. Надявам се обсъдените по-горе теми да добавят стойност към вашите познания за Java. Следете за още статии!

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

Имате въпрос към нас? Моля, споменете го в раздела за коментари в този блог „Архитектура на Java и нейните компоненти“ и ние ще се свържем с вас възможно най-скоро.