Java Runtime Environment — что это за программа? В чем разница между JDK и JRE? Что такое java jre

Какие интегрированные среды Java существуют на сегодняшний день. Java Runtime Environment(JRE) – минимальная реализация виртуальной машины,необходимая для исполнения Java – приложений, без компилятора и других средств разработки.Состоит из виртуальной машины – Java Virtual Machine и библиотеки Java-классов JRF распространяется свободно и для большинства платформ может быть загружена с сайта Oracle. Cредства разработки вместе с JRE входят в JDK. На сегодняшний день существуют три основные IDE для разработки на Java:Eclipse,NetBeans и Intellij IDEA.Выбрать для себя, как же именно среда разработки наиболее удобно – задача, отнюдь, не из простых. И выбор этот со временем может изменяться. Полный дитрибутив NetBeans из коробки поддерживает Java (SE,ME,EE,Card,FX), C/C++,Groovy, PHP,HTML5. Возможности этой IDE внушительны: сразу есть поддержка JavaEE, Spring Framework, Hibernate, OSGL, Maven, юнит-тестов,возможность разработки настольных приложений на платформе NetBeans и использования облачных сервисов. Отдельным плюсом стоит отметить то, что поддержка новых версий спецификаций, входящих в JavaEE, изначально появляется именно в NetBeans. Главноые достоинства Eclipse – ее расширяемость, огромное сообщество, разрабатывающее огромное же количество плагинов и расшириний, поддержка практически всех технологий, связанных с Java. По своей природе Eclipse очень тяжеловесная IDE,и комфортно работать с ней стало возможно начиная с версии Juno. Intellij IDEA. Самая известная коммерческая IDE для разработки на Java. В комплекте с IDE идет огромное количество расширений, добавляющих в нее поддержку практически всех распространенных Java- технологий и не только.

Принципы объектно-ориентированного программирования (абстракция, иерархия, ответственность, модульность)

Принципы объектно-ориентированного программирования.Объектно-ориентированное программирование развивается уже более двадцати лет. Имеется несколько школ, каждая из которых предлагает свой набор принципов работы с объектами и по-своему излагает эти принципы. Но есть несколько общепринятых понятий. Перечислим их. Абстракция Мы должны абстрагироваться от некоторых конкретных деталей объекта. Очень важно выбрать правильную степень абстракции. Описывая поведение какого-либо объекта, например автомобиля, мы строим его модель. Описание каждой модели производится в виде одного или нескольких классов (classes). Класс можно считать проектом, слепком, чертежом, по которому затем будут создаваться конкретные объекты. Класс содержит описание переменных и констант, характеризующих объект. Они называются полями класса (class fields). Процедуры, описывающие поведение объекта, называются методами класса (class methods). Внутри класса можно описать и вложенные классы (nested classes) и вложенные интерфейсы. Поля, методы и вложенные классы первого уровня являются членами класса (class members). Разные школы объектно-ориентированного программирования предлагают разные термины, мы используем терминологию, принятую в технологии Java. Вот набросок описания автомобиля:

class Automobile{

int maxVelocity; // Поле, содержащее наибольшую скорость автомобиля

int speed; // Поле, содержащее текущую скорость автомобиля

int weight; // Поле, содержащее вес автомобиля

// Прочие поля...

void moveTo(int x, int у){ // Метод, моделирующий перемещение

// автомобиля. Параметры х и у - не поля

int а = 1; // Локальная переменная - не поле

// Тело метода. Здесь описывается закон

// перемещения автомобиля в точку (х, у)

// Прочие методы. . .

Иерархия. Иерархия объектов давно используете для их классификации. Особенно детально она проработана в биологии. Все знакомы с семействами, родами и видами. Мы можем сделать описание своих домашних животных (pets): кошек (cats), собак (dogs), коров (cows) и прочих следующим образом:

class Pet{ // Здесь описываем общие свойства всех домашних любимцев

Master person; // Хозяин животного

int weight, age, eatTimel]; // Вес, возраст, время кормления

int eat(int food, int drink, int time){ // Процесс кормления

// Начальные действия...

if (time == eatTimefi]) person.getFood(food, drink);

// Метод потребления пищи

void voice(); // Звуки, издаваемые животным

// Прочее...

Затем создаем классы, описывающие более конкретные объекты, связывая их с общим классом:

class Cat extends Pet{ // Описываются свойства, присущие только кошкам:

int mouseCatched; // число пойманных мышей

void toMouse(); // процесс ловли мышей

// Прочие свойства

class Dog extends Pet{ // Свойства собак:

void preserve(); // охранять

Заметьте, что мы не повторяем общие свойства, описанные в классе Pet. Они наследуются автоматически. Мы можем определить объект класса Dog и использовать в нем все свойства класса Pet так, как будто они описаны в классе Dog:

Dog tuzik = new Dog(), sharik = new Dog();

После этого определения можно будет написать

int p = sharik.eat (30, 10, 12);

А классификацию продолжить так:

class Pointer extends Dog{ ... } // Свойства породы Пойнтер

class Setter extends Dog{ ... } // Свойства сеттеров

Ответственность. В нашем примере рассматривается только взаимодействие в процессе кормления, описываемое методом eat(). В этом методе животное обращается к хозяину, умоляя его применить метод getFood().Итак, объект sharik, выполняя свой метод eat (), посылает сообщение объекту, ссылка на который содержится в переменной person, с просьбой выдать ему определенное количество еды и питья. Сообщение записано в строке person.getFood(food, drink). Этим сообщением заключается контракт (contract) между объектами, суть которого в том, что объект sharik берет на себя ответственность (responsibility) задать правильные параметры в сообщении, а объект - текущее значение person - возлагает на себя ответственность применить метод кормления getFood() , каким бы он ни был. Для того чтобы правильно реализовать принцип ответственности, применяется четвертый принцип объектно-ориентированного программирования - модульность (modularity)

Модульность Этот принцип утверждает - каждый класс должен составлять отдельный модуль. Члены класса, к которым не планируется обращение извне, должны быть инкапсулированы. В языке Java инкапсуляция достигается добавлением модификатора private к описанию члена класса. Например:

private int mouseCatched;

private String name;

private void preserve();

Эти члены классов становятся закрытыми, ими могут пользоваться только экземпляры того же самого класса, например, tuzik может дать поручение sharik.preserve(). А если в классе Master мы напишем private void getFood(int food, int drink); то метод getFood() не будет найден, и несчастный sharik не сможет получить пищу. , В противоположность закрытости мы можем объявить некоторые члены класса открытыми, записав вместо слова private модификатор public, например: public void getFood(int food, int drink); К таким членам может обратиться любой объект любого класса.

Как классифицируются типы данных языка Java 2. Объявление переменных .

В Java определено две категории данных:

 примитивные типы (primitive types);

 ссылочные типы (reference types).

Существует также специальный нулевой тип, тип выражения null, который не имеет имени.

Примитивные типы делятся на булевский тип (boolean) и числовые типы. В свою очередь, числовые типы – это целые типы (byte, short, int, long и char) вещественные типы (float и double). Ссылочные типы – это типы классов, интерфейсов и массивов.

Объявление переменных в Java имеет следующий вид:

имя-типа идентификатор-переменной ;

например:

Если несколько переменных имеют один и тот же тип, их можно объявить в одном предложении, перечислив идентификаторы переменных через запятую:

имя-типа идентификатор-переменной-1 , идентификатор-переменной-2 ,;

например:

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

double inputValue;

Переменная является указанием места хранения значения переменной в памяти. Переменная примитивного типа всегда содержит значение переменной указанного типа (например, int), а переменная ссылочного типа хранит ссылку (адрес) объекта указанного типа.

Создавать новые переменные можно в любом месте программы.

Логический тип и операции с ними (операции сравнения и присвоения, логические операции, сокращенные логические операции)

В JavaScript имеются следующие типы операций: Операция присвоения присваивает левому операнду значение на базе правого операнда. Базовой операцией присвоения является знак равенства (=), который присваивает левому операнду значение правого операнда. То есть, x = y присваивает значение y переменной x.

Сокращённое обозначение Значение
x += y x = x + y
x -= y x = x – y
x *= y x = x * y
x /= y x = x / y
x %= y x = x % y
x <<= y x = x << y
x >>= y x = x >> y
x >>>= y x = x >>> y
x &= y x = x & y
x ^= y x = x ^ y
x |= y x = x | y

Операция сравнения сравнивает операнды и возвращает логическое значение на базе верности сравнения. Операндами могут быть числа, строки, логические значения и объекты. Строки сравниваются на базе стандартного лексикографического порядка с использованием значений Unicode.

Операция Описание Примеры, возвращающие true
Равно (==) Возвращает true, если операнды равны. Если операнды разных типов, JavaScript пытается конвертировать операнды до типа, пригодного для сравнения. 3 == var1 "3" == var1 3 == "3"
Не равно (!=) Возвращает true, если операнды не равны. Если операнды разных типов, JavaScript пытается конвертировать операнды до типа, пригодного для сравнения. var1 != 4 var2 != "3"
Строго равно (===) Возвращает true, если операнды равны и одного типа. 3 === var1
Строго не равно (!==) Возвращает true, если операнды не равны и/или не одного типа. var1 !== "3" 3 !== "3"
Больше (>) Возвращает true, если левый операнд больше правого. var2 > var1
Больше или равно (>=) Возвращает true, если левый операнд больше правого или равен ему. var2 >= var1 var1 >= 3
Меньше (<) Возвращает true, если левый операнд меньше правого. var1 < var2
Меньше или равно (<=) Возвращает true, если левый операнд меньше правого или равен ему.

Логические операции обычно используются с Boolean (булевыми/логическими) значениями; в этом случае возвращается Boolean-значение. Однако операции && и || реально возвращают значение одного из специфицированных операндов, поэтому, если эти операции используются с не-Boolean-значениями, они могут вернуть не-Boolean значение.

Операция Использование Описание
&& expr1 && expr2 (Логическое И) Возвращает expr1, если оно может быть конвертировано в false; иначе возвращает expr2. Таким образом, при использовании с Boolean-значениями, && возвращает true, если оба операнда true; иначе возвращает false.
|| expr1 || expr2 (Логическое ИЛИ) Возвращает expr1, если оно может быть конвертировано в true; иначе возвращает expr2. Таким образом, при использовании с Boolean-значениями, || возвращает true, если хотя бы один из операндов true; если оба операнда false, возвращает false.
! !expr (Логическое НЕ) Возвращает false если её единственный операнд может быть конвертирован в true; иначе возвращает true.

Так как логические выражения вычисляются слева направо, они проверяются на возможность выполнения "сокращённого " вычисления по следующим правилам:

false && что-либо сокращённо вычисляется в false.

true || что-либо сокращённо вычисляется в true.

Целые типы и операции с ними (арифметические, приведение типов, операции сравнения, побитовые операции, операции сдвигов). Арифметические операции принимают числовые значения (литералы или переменные) в качестве операндов и возвращают одиночное числовое значение. Стандартными арифметическими операциями являются сложение (+), вычитание (-), умножение (*) и деление (/).

Операция Описание Пример
% (Modulus) Бинарная операция. Возвращает целочисленный остаток от деления двух операндов. 12 % 5 возвращает 2.
++ (Инкремент) Унарная операция. Добавляет 1 к операнду. Если используется как префикс (++x), добавляет единицу и возвращает значение операнда; если используется как постфикс (x++), возвращает значение операнда и затем прибавляет единицу. Если x равен 3, то ++x устанавливает x в 4 и возвращает 4; а x++ устанавливает x в 4 и возвращает 3.
-- (Декремент) Унарная операция. Вычитает единицу из операнда. Возвращаемое значение аналогично значению для операции инкремента. Если x равен 3, то --x устанавливает x в 2 и возвращает 2; а x-- устанавливает x в 2 и возвращает 3.
- (Унарное отрицание) Унарная операция. Возвращает операнд с изменённым знаком. Если x равен -3, то -x возвращает 3.

Побитовые операции рассматривают свои операнды как набор 32-битных двоичных чисел (нулей и единиц), а не как 10-ричные, 16-ричные или 8-ричные числа. Например, 10-ричное число 9 имеет бинарное представление 1001. Побитовые операции выполняются над такими двоичными представлениями, но возвращают стандартные числовые значения JavaScript.

Операция Использование Описание
Побитовое И a & b Возвращает 1 в каждой битовой позиции, где соответствующие биты обоих операндов равны 1.
Побитовое ИЛИ a | b Возвращает 1 в каждой битовой позиции, где соответствующие биты одного или обоих операндов равны 1.
Побитовое исключающее ИЛИ a ^ b Возвращает 1 в каждой битовой позиции, где соответствующие биты одного но не обоих операндов равны 1.
Побитовое НЕ ~ a Инвертирует биты операнда.
Сдвиг влево a << b Сдвигает двоичное представление a на b битов влево, заполняя справа нулями.

Побитовые Логические Операции

Операнды конвертируются до 32-битных целых и выражаются серией битов (нулей и единиц).

Каждому биту первого операнда соответствует парный бит второго операнда: первый бит - первому, второй - второму, и так далее.

Операция выполняется для каждой пары битов, а результат конструируется побитно.Например, бинарное представление 9 это 1001, а бинарное представление 15 это 1111. Итак, если побитовая операция применяется к этим двум числам, результаты будут такими:
15 & 9 даёт 9 (1111 & 1001 = 1001)

15 | 9 даёт 15 (1111 | 1001 = 1111)

15 ^ 9 даёт 6 (1111 ^ 1001 = 0110) Побитовые операции сдвига принимают два операнда: первый операнд это сдвигаемое количество, а второй специфицирует количество битовых позиций, на которое сдвигается первый операнд. Направление сдвига контролируется применяемой операцией

Вещественный тип данных и операции с ними. Вещественных типов в Java два: float и double. Они характеризуются разрядностью, диапазоном значений и точностью представления, отвечающим стандарту IEEE 754-1985 с некоторыми изменениями. К обычным вещественным числам добавляются еще три значения» 1. Положительная бесконечность, выражаемая константой POSITIVE_INFINITY и возникающая при переполнении положительного значения, например, в результате операции умножения 3.0*6е307. 2. Отрицательная бесконечность NEGATIVE_INFINITY. 3. "Не число", записываемое константой NaN (Not a Number) и возникающее при делении вещественного числа на нуль или умножении нуля на бесконечность. Примеры определения вещественных типов:

float х = 0.001, у = -34.789;

double 21 = -16.2305, z2;

Поскольку к вещественным типам применимы все арифметические операции и сравнения, целые и вещественные значения можно смешивать в операциях. При этом правило приведения типов дополняется такими условиями:

если в операции один операнд имеет тип double, то и другой приводится к типу double;

если один операнд имеет тип float, то и другой приводится к типу float;

в противном случае действует правило приведения целых значений.

Операции присваивания. Условная операция . Простоя операция присваивания (simple assignment operator) записывается знаком равенства =, слева от которого стоит переменная, а справа выражение, совместимое с типом переменной: х = 3.5, у = 2 * (х - 0.567) / (х + 2), b = х < у, bb = х >= у && b. Операция присваивания действует так: выражение, стоящее после знака равенства, вычисляется и приводится к типу переменной, стоящей слева от знака равенства. Результатом операции будет приведенное значение правой части. Операция присваивания имеет еще одно, побочное, действие: переменная, стоящая слева, получает приведенное значение правой части, старое ее значение теряется. В операции присваивания левая и правая части неравноправны, нельзя написать 3.5 = х. После операции х = у изменится переменная х, став равной у, а после у = х изменится у. Кроме простой операции присваивания есть еще 11 составных операций присваивания (compound assignment operators): +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= ; >>>=. Символы записываются без пробелов, нельзя переставлять их местами.

Все составные операции присваивания действуют по одной схеме:

х ор= а э квивалентно х = (тип х), т. е. (х ор а).

Напомним, что переменная ind типа short определена у нас со значением 1. Присваивание ind +=7.8 даст в результате число 8, то же значение получит и переменная ind. Эта операция эквивалентна простой операции присваивания ind = (short)(ind + 7.8).

Перед присваиванием, при необходимости, автоматически производится приведение типа. Поэтому:

b = b + 10; // Ошибка!

b += 10; // Правильно!

Перед сложением ь + 50 происходит повышение ь до типа int, результат сложения тоже будет типа int и, в первом случае, не может быть Присвоен переменной ь без явного приведения типа. Во втором случае перед присваиванием произойдет сужение результата сложения до типа byte.

Условная операция - единственная в JavaScript, принимающая три операнда. Она может дать одно или другое значение на базе условия. Синтаксис таков:

condition ? val1 : val2
Если condition - true, операция имеет значение val1. Иначе - значение val2. Вы можете использовать условную операцию в любом месте, где может использоваться стандартная операция.

Например,

status = (age >= 18) ? "adult" : "minor"

Этот оператор присваивает значение "adult" переменной status, если age равен 19 или более. Иначе переменной status присваивается значение "minor".

«Java runtime что это за программа» — речь идёт о программе, которая у большинства пользователей вызывает вопросы по весьма объективным причинам. Дело в том, что мало кто её ставит отдельно на компьютер. У большинства она устанавливается сама, то есть, берётся неизвестно от куда. Оттуда и возникают вопросы.

Это объясняется тем, что пользователи привыкли к тому, что так на компьютеры проникают вирусы, а аж никак не полезные программы. Но это не тот случай. А почему происходит именно так, мы постараемся вам объяснить в нашей статье, чтобы у Вам не осталось никаких сомнений и все страхи ушли прочь.

Стоит, наверное, начать с того, что же такое Java. Это один из самых популярных языков программирования, который используется при разработке приложений в очень разных сферах и реализациях. Выпущен он был ещё в далёком 1995-ом году, потому не стоит удивляться тому, что просто огромное количество популярных программ написаны именно на Java.

Для запуска программ, которые написаны на этом замечательном языке программирования необходим компилятор или специальное программное обеспечение. Как раз одно из таких приложений и является героем этой статьи. Почему же оно вызывает столько вопрос и такую неоднозначную реакцию на себя мы с удовольствием объясним дальше.

Java Runtime Environment что это за программа

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

Единственное, о чём они не подумали, так это то, что большинство вирусов сейчас попадают в системы пользователей абсолютно тем же путём. Потому программа, которая самовольно установилась в систему не может не вызывать подозрений.

Теперь, когда Вы знаете, что же это за программа — Java Runtime Environment, понимаете, что не стоит её удалять, если хотите, что бы все приложения на Java работали.

Java представляет собой язык программирования и платформу вычислений, которая была впервые выпущена Sun Microsystems в 1995 г. Существует множество приложений и веб-сайтов, которые не работают при отсутствии установленной Java, и с каждым днем число таких веб-сайтов и приложений увеличивается. Java отличается быстротой, высоким уровнем защиты и надежностью. От портативных компьютеров до центров данных, от игровых консолей до суперкомпьютеров, используемых для научных разработок, от сотовых телефонов до сети Интернет - Java повсюду!

Можно ли загрузить Java бесплатно?

Да, Java можно загрузить бесплатно. Загрузите последнюю версию на веб-сайте .

Если вы разрабатываете встроенное или бытовое устройство и хотите использовать в нем технологии Java, свяжитесь со специалистами Oracle и получите подробную информацию об интеграции Java в различные типы устройств.

Почему необходимо выполнять обновление до новейшей версии Java?

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

ТЕХНИЧЕСКИЕ ПОДРОБНОСТИ
Я слышал термины "виртуальная машина Java" и JVM. Это и есть программное обеспечение Java?

Виртуальная машина Java представляет собой только один аспект программного обеспечения Java, который задействуется при взаимодействии через Интернет. Виртуальная машина Java встраивается непосредственно в загрузку программного обеспечения Java, и используется для поддержки запуска приложений Java.

20 ответов

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

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

Обычно, если вы заботитесь только о запуске программ Java на компьютере, вы устанавливаете только JRE. Это все, что вам нужно. С другой стороны, если вы планируете заняться программированием на Java, вам нужно вместо этого установить JDK.

Иногда, даже если вы не планируете заниматься разработкой Java на компьютере, вам все равно нужно установить JDK. Например, если вы развертываете веб-приложение с JSP, технически вы просто запускаете Java-программы на сервере приложений. Зачем вам тогда JDK? Потому что сервер приложений преобразует JSP в сервлеты Java и должен использовать JDK для компиляции сервлетов. Я уверен, что будет больше примеров.

Ответ выше (Пабло) очень правильный. Это просто дополнительная информация.

JRE , как следует из названия, является окружающей средой. Это в основном набор каталогов с Java файлами, например:

  • bin/ содержит исполняемые программы Java. Наиболее важным является java (и для Windows, а также javaw), который запускает JVM. Есть некоторые другие утилиты здесь, а также, например, keytool и policytool .
  • conf/ содержит редактируемые пользователем файлы конфигурации для экспертов по Java.
  • lib/ имеет большое количество вспомогательных файлов: некоторые файлы.jar , файлы конфигурации, файлы свойств, шрифты, переводы, сертификаты и т.д. - все это "обрезки" Java. Наиболее важными являются modules , файл, который содержит.class стандартной библиотеки Java.
  • На определенном уровне стандартная библиотека Java должна вызывать нативный код. Для этой цели JRE содержит некоторые.dll (Windows) или.dylib (macOS) или.so (Linux) в bin/ или lib/ с поддерживаемым системным двоичным кодом.

JDK также представляет собой набор каталогов. Это расширенная версия JRE с некоторыми дополнениями:

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

С точки зрения непрофессионала: JDK - дедушка, JRE - отец, а JVM - их сын. [т.е. JDK> JRE> JVM]

JDK = JRE + Инструменты разработки/отладки

JRE = JVM + Java Packages Классы (например, util, math, lang, awt, swing и т.д.) Библиотеки +runtime.

JVM = система загрузчика классов + область данных времени выполнения + механизм выполнения.

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

Виртуальная машина Java (JVM) - это виртуальная машина, на которой выполняются байт-коды Java. JVM не понимает исходный код Java, поэтому вы компилируете свои файлы *.java для получения файлов *.class, которые содержат байтовые коды, понятные для JVM. Это также сущность, которая позволяет Java быть "переносимым языком" (писать один раз, запускать где угодно). Действительно, существуют конкретные реализации JVM для разных систем (Windows, Linux, MacOS, см. Список википедии...), цель состоит в том, чтобы с одинаковыми байт-кодами все они давали одинаковые результаты.

JDK и JRE

Чтобы объяснить разницу между JDK и JRE, лучше всего прочитать документацию Oracle и обратиться к диаграмме:

Java Runtime Environment (JRE)

Java Runtime Environment (JRE) предоставляет библиотеки, виртуальную машину Java и другие компоненты для запуска апплетов и приложений, написанных на языке программирования Java. Кроме того, в JRE входят две ключевые технологии развертывания: Java-плагин, который позволяет апплетам работать в популярных браузерах; и Java Web Start, который развертывает автономные приложения по сети. Это также основа для технологий в Java 2 Platform, Enterprise Edition (J2EE) для разработки и развертывания программного обеспечения для предприятий. JRE не содержит инструментов и утилит, таких как компиляторы или отладчики для разработки апплетов и приложений.

Java Development Kit (JDK)

JDK является расширенным набором JRE и содержит все, что есть в JRE, а также такие инструменты, как компиляторы и отладчики, необходимые для разработки апплетов и приложений.

Обратите внимание, что Oracle не единственный, кто предоставляет JDK.

От официального веб-сайта java...

JRE (среда выполнения Java):

  • Это реализация виртуальной машины Java *, которая фактически выполняет Java-программы.
  • Java Runtime Environment - это плагин, необходимый для запуска Java-программ.
  • JRE меньше JDK, поэтому ему требуется меньше места на диске.
  • JRE можно свободно скачивать/поддерживать https://www.java.com
  • Он включает библиотеки JVM, Core и другие дополнительные компоненты для запуска приложений и апплетов, написанных на Java.

JDK (Java Development Kit)

Одно отличие от перспективы отладки:

Для отладки в системных классах Java, таких как String и ArrayList, вам нужна специальная версия JRE, которая скомпилирована с "отладочной информацией". JRE, включенный в JDK, предоставляет эту информацию, но обычный JRE этого не делает. Регулярная JRE не включает эту информацию, чтобы обеспечить лучшую производительность.

Что такое отладочная информация? Вот краткое объяснение, взятое из этого сообщения в блоге :

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

Итак, как отладчик знает, где остановиться, когда вы просите его разбить на запись на какую-то функцию? Как вам удается найти, что вам показать, когда вы задаете ему значение переменной? Ответ - отладка информации.

Отладочная информация генерируется компилятором вместе с машинным кодом. Это представление отношения между исполняемой программой и исходным исходным кодом. Эта информация кодируется в заранее определенный формат и сохраняется вместе с машинным кодом. Многие из таких форматов были изобретены на протяжении многих лет для разных платформ и исполняемых файлов.

JRE является аббревиатурой для Java Runtime Environment.It используется для обеспечения среды выполнения. Это реализация JVM.It физически существует. Она содержит набор библиотек и других файлов, которые JVM использует во время выполнения.

JDK является акронимом для Java Development Kit. Он физически существует. Он содержит инструменты разработки JRE +.

Обычно, когда вы только заботитесь о запуске программ Java в своем браузере или компьютере, вы будете устанавливать только JRE. Это все, что вам нужно. С другой стороны, если вы планируете выполнять некоторые Java-программирования, вам также понадобится JDK.

JVM, JRE и JDK зависят от платформы, поскольку конфигурация каждой ОС отличается. Но Java не зависит от платформы.

Java Virtual Machine (JVM) - это система времени выполнения, которая выполняет байт-код Java.

JRE - это среда (стандартные библиотеки и JVM), необходимые для запуска приложений Java.

Java R Runtime Environment (JRE)

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

Java Development Development Kit (JDK)

JDK включает инструменты разработки командной строки JRE plus, такие как компиляторы и отладчики, которые необходимы или полезны для разработки апплетов и приложений.

Если вы хотите запускать Java-программы, но не разрабатывать их, загрузите среду выполнения Java или JRE. Если вы хотите их развить, загрузите Java Development Kit или JDK

JDK

Пусть называемый JDK - это набор, который включает в себя то, что нужно для разработки и запуска приложений Java.

JDK предоставляется как среда разработки для создания приложений, компонентов и апплетов.

JRE

Он содержит все необходимое для запуска приложений Java в скомпилированной форме. Вам не нужны библиотеки и другие материалы. Все, что вам нужно, составлено.

JVM, JRE, JDK - все это основа языка Java. Каждый компонент работает отдельно. Jdk и Jre физически существуют, но Jvm - это абстрактная машина, то есть физически не существует.

JVM - это подсистема JDK и JRE, которые используют для проверки промежуточного кода, известного как байт-код. Сначала он загружает "файл класса", имеющий расширение.c, сгенерированное компилятором Java (Javac) через загрузчик классов подсистемы JVM, и классифицирует расположение памяти (регистры области классов, стека, кучи и компьютера) в соответствии с их использованием. Затем проверьте весь байт-код, чтобы убедиться, что он возвращается в java, и доступ к памяти для всей сети. После начала работы интерпретатора интерпретатор проверяет всю строку программы по строке и, наконец, результат отображается в консоли, браузере и приложении через JRE (Java Runtime Environment), которая предоставляет средства выполнения.

JRE также является подсистемой JDK, которая предоставляет средства выполнения, такие как JVM, классы, исполняемый файл, например.jar, и т.д.

JDK - это Java Development Kit, содержащий все необходимые компоненты, которые используются в программировании, такие как класс, методы, Swing, AWT, пакет, java (интерпретатор), javac (компилятор), appletviewer (просмотрщик приложений апплета) и т.д. Итак, окончательный вывод - это содержание каждого файл, который полезен при разработке приложения, автономного или веб-приложения.

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

JVM (виртуальная машина Java) - это абстрактная машина. Это спецификация, которая обеспечивает среду выполнения, в которой может быть выполнен байт-код Java.

JVM доступны для многих аппаратных и программных платформ. JVM, JRE и JDK зависят от платформы, поскольку конфигурация каждой ОС отличается. Но Java не зависит от платформы.

Он содержит все необходимое для запуска приложений Java в скомпилированном виде. Вам не нужно никаких библиотек и прочего. Все, что вам нужно, скомпилировано.

JRE не может использоваться для разработки, используется только для запуска приложений.

Java SE Development Kit (JDK)

JDK включает в себя инструменты разработки командной строки JRE plus, такие как компиляторы и отладчики, которые необходимы или полезны для разработки апплетов и приложений.

Четкое понимание этих терминов (JVM, JDK, JRE) необходимо для понимания их использования и различий.

JVM Java Virtual Machine (JVM) - это система времени выполнения, которая выполняет байт-код Java. JVM похожа на виртуальный компьютер, который может выполнять набор скомпилированных инструкций и манипулировать областями памяти. Когда компилятор Java компилирует исходный код, он генерирует высокооптимизированный набор инструкций, называемый байт-кодом, в файле.class. JVM интерпретирует эти инструкции байт-кода и преобразует их в машинный код для выполнения.

© 2024 tdv-elektro.ru
Windows. Железо. Интернет. Безопасность. Программы