Java_self_brainstorm
April 10, 2019

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. Википедия

Подготовка к экспериментам:

  1. https://www.jetbrains.com/idea/ - скачиваем Community Edition
  2. Устанавливаем JDK (Что это? попутно читаем). Скачиваем только с официального сайта: https://www.oracle.com/technetwork/java/javase/downloads/index.html
  3. При первичной настройке среды разработки Intellij Idea CE обязательно указываем для нее папку с JDK (Как?)
  4. Удобнее всего при разработке использовать репозитории, например: GitHub (Как создать новый репозиторий?)
  5. Как сделать автоматическую выгрузку в репозиторий прямо из среды разработки?

Кажется этого вполне достаточно, чтобы начать наши эксперименты.

Чтиво:

  1. Герберт Шилдт: Java. Полное руководство Java. "The Complete Reference"
  2. Брюс Эккель: Философия Java "Java thinking"
  3. Кэти Сьерра, Берт Бэйтс "Изучаем Java"