Java (не следует путать с JavaScript или JScript или JS) - это объектно-ориентированный язык программирования общего назначения, предназначенный для использования в сочетании с виртуальной машиной Java (JVM). "Java-платформа" - это название вычислительной системы, в которой установлены инструменты для разработки и запуска программ Java. Используйте этот тег для вопросов, относящихся к языку программирования Java или инструментам платформы Java.

Java - это high-level, платформа -независимый, объектно-ориентированный, функциональный язык программирования и среда выполнения.

Язык Java извлекает большую часть своего синтаксиса из и , но его объектная модель проще, чем у последней, и у нее меньше объектов низкого уровня. Приложения Java обычно скомпилированы в байт-код (называемый файлы классов), которые могут быть выполнены (виртуальная машина Java), независимо от компьютерной архитектуры. часто компилирует код в собственный машинный код для оптимизации производительности.

JVM управляет памятью с помощью сборщика мусора (см. ), чтобы обрабатывать удаление объекта из памяти, когда объекты больше не используются. Java типизирующая дисциплина является статичной, сильной, безопасной, номинативной и манифестной. Java поддерживает такие функции, как отражение и взаимодействие с и через jni (Java Native Interface).

Java рассчитана на максимально возможное количество зависимостей реализации, что позволяет разработчикам приложений писать один раз, запускать где-нибудь (код, который выполняется на одной платформе, не нужно перекомпилировать для запуска на другом). Java был первоначально разработан Джеймсом Гослингом в Sun Microsystems (который полностью слился с Oracle Corporation 27 января, 2010) и был выпущен в 1995 году в качестве основного компонента платформы Java Sun Microsystems. Java был запущен в качестве проекта под названием "Дуб" Джеймса Гослинга в июне 1991 года.

платформа Java - это имя, данное Sun (теперь Oracle) для вычислений системы, которые установили инструменты для разработки и запуска программ Java. Платформа имеет широкий спектр инструментов, которые могут помочь разработчикам эффективно работать с языком программирования Java.

Платформа состоит из двух основных пакетов программного обеспечения:

  • Java Runtime Environment (JRE): требуется запускать Java-приложения и апплеты.
  • Java Development Kit (JDK): требуется разработка Java-приложений и апплетов. JDK поставляется с JRE.

В этом разделе мы подробно рассмотрим, что делают эти два программных компонента платформы Java.

Фон

Основная эталонная реализация Java является открытым исходным кодом (OpenJDK) и поддерживается крупными компаниями, включая Oracle, Apple, SAP и IBM.

Очень немногие компьютеры могут запускать программы Java напрямую. Поэтому среду Java обычно можно получить, установив подходящий программный компонент. На компьютерах с Windows это обычно делается путем загрузки бесплатной среды выполнения Java (JRE из java.com На компьютерах Macintosh пользователю предлагается загрузить Java, когда запускается приложение, требующее его запуска. В Linux-подобных системах Java обычно устанавливается через диспетчер пакетов.

Разработчики часто нуждаются в дополнительных инструментах, которые доступны в бесплатном Java Development Kit, который для Windows и Mac должен быть загружен с Oracle и установлен вручную.

Java компилируется в байт-код, который затем скомпилирован в собственный машинный код. Компиляция выполняется точно в срок (JIT). Первоначально это считалось хитом производительности, но и улучшения компиляции сделали это меньше беспокойство. В некоторых случаях может быть даже быстрее чем собственный код, скомпилированный для установки более старой версии процессора для соображений обратной совместимости. Начиная с Java 9, он может быть скомпилирован заблаговременно (AOT).

Примечание. Существуют другие поставщики, хотя почти все имеют лицензионные платежи. Для Linux и других платформ обратитесь к документации по операционной системе.

Версия

Известные версии Java, имена кодов (в скобках [] и даты выпуска (в круглых скобках) включают:

  Java SE 10 [JSR 383] (20 марта 2018 г.)
Java SE 9 [JSR 376] (21 сентября 2017 г.)
Java SE 8 [JSR 337] (18 марта 2014 г.)
Java SE 7 [Dolphin] (28 июля 2011 г.)
Java SE 6 [Mustang] (11 декабря 2006 г.)
J2SE 5.0 [Tiger] (30 сентября 2004 г.)
J2SE 1.4 [Мерлин] (6 февраля 2002 г.)
J2SE 1.3 [Kestrel] (8 мая 2000 г.)
J2SE 1.2 [Игровая площадка] (8 декабря 1998 г.)
JDK 1.1 (19 февраля 1997 г.)
JDK 1.0 (23 января 1996 г.)
JDK Beta (1995)
Код>

Последние стабильные версии:

  Java Standard Edition 10 (10.0.1) - (17 апреля 2018 года)
Java Standard Edition 9 (9.0.4) - (16 января 2018 года)
Обновление Java Standard Edition 8 172 (1.8.0_172) - (17 апреля 2018 года)
Java Standard Edition 7 Обновление 80 (1.7.0_80) - (14 апреля 2015 г.)
Код>

Дополнительные имена кодов и даты выпуска см. Имена кодов J2SE. Чтобы просмотреть примечания к выпуску для каждой версии JDK, посетите статью в Википедии о истории версий Java.

Java SE 10 доступен для скачивания.

Конец публичных обновлений (раньше назывался End Of Life а также именуемые EoPU), даты свободного распространения от Oracle:

  Java SE 8 - сентябрь 2017
Java SE 7 - Apr 2015
Java SE 6 - февраль 2013 г.
J2SE 5.0 - октябрь 2009 г.
J2SE 1.4 - октябрь 2008 г.
Код>

Начальная справка

Новый для Java или нужна помощь для запуска вашей первой программы Java? См. Раздел раздел "Учебные пособия Oracle Java" о начале работы.

Прежде чем задавать вопрос, выполните поиск, чтобы узнать, было ли задано ранее (у нас много дубликатов, некоторые из них перечислены ниже в разделе Часто задаваемые вопросы) и читайте Написание идеального вопроса, чтобы узнать, как заставить Джона Скита ответить на ваш вопрос.

Соглашения об именах

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

  • Имена типов (классы, интерфейсы, перечисления и т.д.) должны начинаться с заглавной буквы и использовать первую букву каждого последующего слова. Примеры: String, ThreadLocal и NullPointerException. Это иногда называют PascalCase.
  • Имена методов и полей должны быть camelCased; то есть они должны начинаться с строчной буквы и загладить первую букву каждого последующего слова. Примеры: indexOf, printStackTrace, прерывание.
  • Константные имена выражений (<код > статические окончательные неизменяемые объекты) должны быть записаны в ALL_CAPS_SNAKE_CASE, с подчеркиванием, разделяющим каждое слово. Примеры: YELLOW, DO_NOTHING_ON_CLOSE. Это также относится к значениям класса Enum. Тем не менее, static final ссылки на объекты non -immutable должны быть camelCased.

Hello World - Ваша первая программа

Код типичной программы Hello World:

  открытый класс HelloWorld {   public static void main (String [] args) {       System.out.println( "Привет, мир!" );   }
}
Код>

Компиляция и вызов программы Hello World:

  javac -d. HelloWorld.java
java -cp. Привет мир
Код>

Исходный код Java скомпилирован в промежуточную форму (инструкции для байт-кода для виртуальной машины Java), который может быть выполнен с помощью команды java.

Дополнительная информация:

Полезные IDE для Java

Ресурсы для начинающих

Ежедневные обновленные ресурсы

Расширенные ресурсы

Ядра, библиотеки и программное обеспечение Java

Книги и ресурсы программирования Java

Часто задаваемые вопросы

Люди часто спрашивают о следующих Java-темах:

Общие:

Classpath:

Строка, StringBuilder и toString:

equals и hashCode:

API платформы Java Platform:

Дженерики:

Классы и объекты:

Арифметика и преобразования:

Debugging:

Тема и многопоточность:

Взаимодействие с операционной системой:

(Редакторы, пожалуйста, укажите только те вопросы, которые на самом деле ).

Chatrooms