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

Логотип Java Логотип Java

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

Виртуальная машина поставляется в 2-х вариантах:

  • JRE (Java Runtime Enviroment) - виртуальная машина Java, способная выполнить любое скомпилированное в байт-код приложение на языке Java. Виртуальная машина хоть и описывает суть происходящего, но может звучать не очень понятно. JRE с большой натяжкой можно назвать фреймворком. Это некий набор библиотек, достаточный для запуска любого Java-приложения, даже Minecraft.
  • JDK (Java Developer Kit) - та-же виртуальная машина Java, но дополненная компилятором. Проще говоря, это достаточный комплект для разработки приложения любой сложности и его выполнения. JDK включает в свой набор JRE. Для разработки выбираем этот вариант.

Oracle не хочет денег за свой продукт, JRE и JDK свободно распространяются на сайте разработчика: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Мы рассмотрим установку именно JDK.

Windows:

  • Скачиваем последнюю версию JDK с сайта разработчика. Обратите внимание на разрядность системы.
  • Устанавливаем как обычное приложение.
  • Автор мануала, ярый противник использования в путях пробелов и русских символов. Так или иначе, в процессе разработки приложений приходится работаться с консолью, пробелы при этом создают много мелких неудобств. Если девелопер работает в команде разработчиков из разных стран, русские буквы в путях могут создать интересные проблемы, хотя с каждым годом этих проблем все меньше. Использование строчных букв приходит из разработки ПО в Linux, дело в том, что в Linux, например, папки с названием "deploy" и "Deploy" являются разными и могут совершенно свободно сосуществовать вместе. Java - кроссплатформенный язык программирования, поэтому очень важно учить себя думать кроссплатформенно.

  • Прописываем переменную JAVA_HOME. Как это сделать, описано в этой статье.

Ubuntu:

Часто бывает, что в комплекте с дистрибьютивами Linux уже идут встроенные OpenJDK или OpenJRE, это похожая виртуальная машина на машину Java, это аналог не лучшего качества, для разработки он не годится, поэтому от него лучше избавиться:

sudo apt-get remove openjdk-*

Oraсle с некоторых пор перестал поддерживать Debian-подобные системы и предоставлять для них готовые дистрибьютивы. Народные умельцы быстро нашли выход. Для быстрой установки JDK достаточно добавить внешний PPA-репозиторий:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Установка JDK v7:

sudo apt-get install oracle-java7-installer

Установка JDK v8:

sudo apt-get install oracle-java8-installer

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

sudo update-alternatives --config java

В результате выполнения команды будет выведен список всех установленных машин Java.

There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-8-oracle/jre/bin/java 2 auto mode
1 /usr/lib/jvm/java-7-oracle/jre/bin/java 1 manual mode
2 /usr/lib/jvm/java-8-oracle/jre/bin/java 2 manual mode

Press enter to keep the current choice[*], or type selection number:

Выберите необходимую версию и повторите то же самое для компилятора:

sudo update-alternatives --config javac