«Единственный способ творить великие дела – это любить то, что ты делаешь»
Java

Для тех, кто хочет изучать объектно-ориентированный язык программирования Java.

Почему стоит изучать Java?

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

Сводная таблица - Рейтинг языков программирования в 2016 году.

Редакции Java

Прежде всего следует знать, что существует три редакции Java.

Начинать изучение Java советуют со стандартной редакции J2SE, а уже потом можно переходить к более крупной - J2EE.

1. Java Standard Edition (J2SE) - это стандартная редакция Java для настольных приложений.

2. Java Micro Edition (J2ME) - редакция Java для мобильных телефонов, КПК и других устройств, где ресурсы ограничены.

3. Java Enterprise Edition (J2EE) - самая крупная редакция Java, которая занимает основной сегмент рынка. Это серверные платформы.

Виртуальная машина Java (JVM)

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

Ключевым понятием в языке Java является термин «Виртуальная машина Java» (JVM).

Виртуальная машина Java (JVM) - это среда исполнения программного кода. Все программы, написанные на языке Java, запускаются внутри виртуальной машины Java.

Виртуальная машина Java (JVM) - это своего рода промежуточный уровень между операционной системой (ОС) и Вашей программой!

Кроссплатформенность Java

Итак, как мы выяснили выше, Java-программы не запускаются в операционной системе (далее ОС), а работают внутри Виртуальной машины Java, которая в свою очередь работает с ОС.

Отсюда вытекает следующий важный принцип - это Кроссплатформенность Java.

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

Но при этом наличие виртуальной машины Java в этой ОС обязательно. Причём для каждой ОС ставиться своя JVM.

Сборщик мусора или Garbage Collector

Следующее важное понятие - это Сборщик мусора или Garbage Collector.

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

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

Записанный в память объект занимает определённое количество ячеек, в зависимости от своего размера.

Смотрите иллюстрацию ниже.

Так вот, во время работы с программой создается много объектов, которые хранятся в памяти.

Нельзя только забивать память, не очищая её, так как, в конечном счёте, не будет свободных ячеек для записи новых данных/объектов.

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

Например, в C++ есть прямой доступ к памяти из программы. И таким образом разработчик самостоятельно управляет памятью.

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

Для этого и существует Сборщик мусора или Garbage Collector.

Сборщик мусора или Garbage Collector - во время работы программы периодически в фоновом режиме очищает память от ненужных объектов, которые прекратили свою работу.

То есть Виртуальная машина Java (JVM) проверяет, существует ли ссылка на тот или иной объект. Если ДА, то объект считается работающим. Если НЕТ, то Сборщик мусора помечает объект на удаление.

Периодичность запуска Сборщик мусора неизвестна, т.к. Виртуальная машина Java сама знает, когда включить его в работу!

Что такое компиляция?

Следующее, что нужно знать, это то, как Виртуальная машина запускает написанный Java-код. Объяснение этому даёт термин Компиляция.

Итак, что такое компиляция?

Если просто, то Компиляция - это преобразование написанного Java-кода в программу, которую понимает Виртуальная машина Java.

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

Для того чтобы JVM стала его понимать, Java-код нужно скомпилировать в формат, понятный для Виртуальной машины, то есть перевести программный код в БАЙТ-код или Двоичный формат.

После Компиляции программа становиться понятной для Виртуальной машины и доступна для запуска.

Диаграмма ниже иллюстрирует весь процесс: как исходный Java-код компилируется в байт-код, который обрабатывается JVM. Затем программа запускается в любой из Операционных систем.

Исходный код имеет расширение *.java, а скомпилированный код - расширение *.class.

Платформы JDK и JRE

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

JDK (Java Development Kit) - это комплект разработчика приложений на языке Java, который включает в себя:

- Виртуальную машину Java
- Компилятор
- Библиотеки классов Java
- Примеры
- Документацию
- Утилиты

JRE (Java Runtime Environment) - среда выполнения Java, которая включает в себя:
- Виртуальную машину Java
- Библиотеки классов

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

Среда JRE - предназначена только для запуска программы.

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

Следующим шагом, будет загрузка последней версии JDK. После этого следует установка среды разработки NetBeans.

Заметки по JavaScript