Введение в Java
Язык JAVA был разработан Джеймсом Гослингом в компании Sun Microsystems Inc в 1991 году и позже приобретен корпорацией Oracle. Это простой язык программирования. Java облегчает написание, компиляцию и отладку программ. Он помогает создавать многократно используемый код и модульные программы.
Java - это объектно-ориентированный язык программирования, основанный на классах и разработанный таким образом, чтобы иметь как можно меньше зависимостей от реализации. Это язык программирования общего назначения, созданный для разработчиков. Write once run anywhere (один раз напиши и запускай везде), скомпилированный код Java может работать на всех платформах, поддерживающих Java. Приложения Java компилируются в байт-код, который может выполняться на любой виртуальной машине Java. Синтаксис Java похож на си/си++.
<-— Cодержание со всеми статьями цикла по Java
История
История Java очень интересна. Это язык программирования, созданный в 1991 году. Джеймс Гослинг, Майк Шеридан и Патрик Нотон, команда инженеров Sun, известная как "Green team", инициировала создание языка Java в 1991 году. Sun Microsystems выпустила его первую публичную реализацию в 1996 году под версией 1.0. С появлением Java 2 новые версии имели множество конфигураций, созданных для различных типов платформ.
В свое время Sun выпустила большинство реализаций Java бесплатно, несмотря на их статус проприетарного программного обеспечения. Sun получала доход от Java за счет продажи лицензий на специализированные продукты, такие как Java Enterprise System.
13 ноября 2006 года компания Sun распространила большую часть своей виртуальной машины Java в качестве бесплатного программного обеспечения с открытым исходным кодом. 8 мая 2007 года Sun завершила этот процесс, сделав весь основной код своей JVM доступным на условиях распространения с открытым исходным кодом.
Принципами создания java были простота, надежность, безопасность, высокая производительность, переносимость, многопоточность, интерпретируемость, динамичность и т.д. Джеймс Гослинг, разработавший в 1995 Java, известен как отец этого ЯП. В настоящее время Java используется в мобильных устройствах, интернет-программировании, играх, электронном бизнесе и т.д.
Откуда взялась название Java?
Java - это название острова в Индонезии, где был произведен первый кофе (названный кофе джава). Это имя было выбрано Джеймсом Гослингом, когда он пил кофе рядом со своим офисом. Обратите внимание, что Java - это просто название, а не аббревиатура.
Терминология Java
Прежде чем изучать Java, необходимо ознакомиться с этими общими терминами Java.
- Виртуальная машина Java (JVM): Обычно ее называют JVM. Существует три фазы выполнения программы. Это написание, компиляция и выполнение программы.
- Написание программы выполняется java-программистом.
- Компиляция выполняется компилятором JAVAC, который является основным компилятором Java, входящим в комплект средств разработки Java (JDK). Он принимает Java-программу на вход и генерирует байткод на выходе.
- На этапе выполнения программы JVM выполняет байткод, сгенерированный компилятором.
Теперь мы поняли, что функция виртуальной машины Java заключается в выполнении байткода, созданного компилятором. Каждая операционная система имеет свою JVM, но вывод, который они производят после выполнения байткода, одинаков для всех операционных систем. Именно поэтому Java известен как платформенно-независимый язык.
Подробнее про JVM
- Байткод: Как уже говорилось, компилятор Javac в JDK компилирует исходный код java в байткод, чтобы он мог быть выполнен JVM. Компилятор сохраняет его в виде файла .class. Для просмотра байткода можно использовать дизассе́мблер (транслятор), например, javap.
- Java Development Kit (JDK): Это полный комплект для разработки Java, который включает в себя все, включая компилятор, Java Runtime Environment (JRE), java-отладчики, java-docs и т.д. Чтобы программа выполнялась на java, нам необходимо установить JDK на наш компьютер для создания, компиляции и запуска java-программы.
- Java Runtime Environment (JRE): JDK включает в себя JRE. Установка JRE на компьютер позволяет запустить java-программу, однако мы не можем ее скомпилировать. JRE включает в себя браузер, JVM, поддержку апплетов и плагины. Для запуска java-программы компьютеру необходим JRE.
- Garbage Collector: В Java программисты не могут удалять объекты. Для удаления или повторного сбора памяти в JVM имеется программа Garbage Collector. Сборщик мусора может удалять объекты, на которые нет ссылок. Управляя таким образом памятью, Java облегчает жизнь программиста,. Однако внимательность к своему коду должна быть.
- ClassPath: Это путь, по которому среда выполнения java и компилятор Java ищут файлы .class. Если вы хотите включить внешние библиотеки, они должны быть добавлены в classpath.
Основные/главные особенности Java
- Независимость от платформы: Компилятор преобразует исходный код в байткод, а затем JVM выполняет байткод, созданный компилятором. Этот байткод может работать на любой платформе, будь то Windows, Linux, macOS, то есть если мы компилируем программу на Windows, то можем запустить ее на Linux и наоборот. Для каждой операционной системы существует своя JVM, но вывод, производимый всеми ОС, одинаков после выполнения байткода. Именно поэтому java является платформонезависимым языком.
- Объектно-ориентированность: Организация программы в терминах коллекции объектов - это способ объектно-ориентированного программирования, каждый из которых представляет собой экземпляр класса.
Четыре основные концепции объектно-ориентированного программирования следующие: - Простота: Java - один из простых языков, поскольку в нем нет таких сложных функций, как указатели, перегрузка операторов, множественное наследование, явное выделение памяти.
- Надежность: Язык разработан таким образом, что компилятор прикладывает много усилий для проверки ошибок. Еще из основных особенностей java, которые делают ее надежной, - это сборка мусора, обработка исключений и распределение памяти.
- Безопасность: В java нет указателей, поэтому мы не можем получить доступ к массивам вне границ, т.е. при попытке сделать это выдается исключение ArrayIndexOutOfBound. Поэтому некоторые недостатки безопасности, такие как повреждение стека или переполнение буфера, отсутвуют в Java.
- Многопоточность: Java поддерживает многопоточность. Это функция Java, которая позволяет одновременно выполнять две или более частей программы для максимального использования процессора.
- Высокая производительность: Архитектура Java определена таким образом, что она снижает накладные расходы во время выполнения, а в некоторых случаях java использует компилятор Just In Time (JIT).
- Динамическая гибкость: Java, будучи полностью объектно-ориентированной, дает нам возможность добавлять классы, новые методы к существующим классам и даже создавать новые классы с помощью подклассов. Java даже поддерживает функции, написанные на других языках, таких как C, C++, которые называются нативными методами.
- Исполнение в песочнице: Java-программы выполняются в отдельном пространстве, которое позволяет пользователю выполнять свои приложения без влияния на базовую систему с помощью верификатора байткода. Верификатор байткода также обеспечивает дополнительную безопасность, поскольку его роль заключается в проверке кода на предмет нарушения доступа.
- Write Once Run Anywhere: Как говорилось выше, java-приложение генерирует файл '.class', который соответствует нашему приложению (программе), но содержит код в двоичном формате. Это обеспечивает простоту и архитектурную нейтральность, так как байткод не зависит от архитектуры машины. Это основная причина популярности java в мировой IT-индустрии.
- Компиляция и интерпретация: Большинство языков создаются с целью либо компилировать, либо интерпретировать. Но java объединяет в себе огромную мощь, поскольку компилятор Java компилирует исходный код в байткод, а JVM превращает этот байткод в исполняемый код, зависящий от ОС машины.
Пример кода:
// Demo Java program
// Importing classes from packages
import java.io.*;
// Main class
public class Program {
// Main driver method
public static void main(String[] args){
// Print statement
System.out.println("Hello World");
}
}Hello World
Пояснение к коду:
// Demo Java program
Комментарии используются для пояснения кода и применяются аналогично в Java или C или C++. Компиляторы игнорируют записи комментариев и не выполняют их. Комментарии могут быть однострочными или многострочными.
Однострочные комментарии:
// Однострочный комментарий
/* Многострочный комментарий*/
import java.io.*;
Это означает, что все классы пакета io могут быть импортированы. Пакет Java io предоставляет набор потоков ввода и вывода для чтения и записи данных в файлы или другие источники ввода или вывода.
class
Класс содержит данные и методы, которые будут использоваться в программе. Методы определяют поведение класса. Класс Program имеет только один метод Main в JAVA.
static void main(String[] args)
Ключевое слово static говорит нам, что этот метод доступен без инициализации класса.
void
Ключевое слово говорит о том, что этот метод ничего не возвращает. Метод main() - это точка входа нашего приложения.
System.out
Это стандартный поток вывода, который используется вывода символов в консоль.
println()
Этот метод в Java также используется для вывода текста на консоль. Он печатает текст в консоли, и перемещает курсор в начало следующей строки. Следующая печать происходит со следующей строки.
<-— Cодержание со всеми статьями цикла по Java