Java (learn it by yourself)
Что такое Java
Java - сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года. На 2019 год Java — один из самых популярных языков программирования [Википедия]
Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
С одной стороны сама концепция использования виртуальной машины и хорошо и плохо одновременно, любое добавленное лишнее звено по логике вещей всегда тормозит выполнение кода. С момента изобретения этой концепции произошло масса улучшений и скорость выполнения программ заметно возросла. Плюс подобной концепции в том, что байт-код абсолютно не завязан на операционную систему и аппаратное обеспечение. Еще один существенный недостаток - утилизация памяти, в некоторых случаях JVM утилизирует в 10-30 раз больше памяти, чем C/C++ (исследованиями занимался Google)
Во время изучения литературы и вопросов, связанных с Java вы непременно столкнетесь с такими аббревиатурами как:
JVM (Java Virtual Machine) - виртуальная машина Java, которая ответственная за конвертацию байт-кода Java в машинный код
JDK (Java Development Kit) -набор для разработки и исполнения Java-приложений, включает в себя Java-компилятор javac
, стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE)
JRE (Java Runtime Environment) - минимальный набор средств для исполнения Java-приложений, включающий в себя JVM+библиотеки Java-классов
JIT (Just-in-time) - "компиляция на лету", это означает процесс динамической компиляции, подразумевающий компиляцию байт-кода в машинный одновременно во время работы программы
Важное замечание для тех, кто только начинает изучение Java: JDK не содержит интегрированную среду разработки! Она потребуется Вам отдельно, в своих примерах и заданиях я буду рассматривать возможности Intellij Idea CE (Community Edition)
И немного визуализации рассмотренных выше аббревиатур:
Немного литературы для самостоятельного "брэйн-шторма" (позволю себе давать ссылки не только на традиционные виды литературы, но и блоги):
- https://www.learnjavaonline.org (Первые, очевидные шаги)
- https://www.reddit.com/r/learnjava/ (Раздел на Reddit)
- https://tproger.ru/articles/start-writing-in-java/ (Быстрый старт)
IntelliJ IDEA — интегрированная среда разработки программного обеспечения для многих языков программирования, в частности Java, JavaScript, Python, разработанная компанией JetBrains. Википедия
Подготовка к экспериментам:
- https://www.jetbrains.com/idea/ - скачиваем Community Edition
- Устанавливаем JDK (Что это? попутно читаем). Скачиваем только с официального сайта: https://www.oracle.com/technetwork/java/javase/downloads/index.html
- При первичной настройке среды разработки Intellij Idea CE обязательно указываем для нее папку с JDK (Как?)
- Удобнее всего при разработке использовать репозитории, например: GitHub (Как создать новый репозиторий?)
- Как сделать автоматическую выгрузку в репозиторий прямо из среды разработки?
Кажется этого вполне достаточно, чтобы начать наши эксперименты.
Чтиво:
- Герберт Шилдт: Java. Полное руководство Java. "The Complete Reference"
- Брюс Эккель: Философия Java "Java thinking"
- Кэти Сьерра, Берт Бэйтс "Изучаем Java"