Введение в Java

Java — это общее название объектно-ориентированного языка программирования Java и платформы Java, представленных компанией Sun Microsystems в мае 1995 года. Он был разработан Джеймсом Гослингом и его коллегами и официально выпущен в 1995 году.

Позже Sun была приобретена корпорацией Oracle, и Java впоследствии стала продуктом Oracle.

Java делится на три системы:

  • JavaSE (J2SE) (Java 2 Platform Standard Edition, Java Platform Standard Edition)
  • JavaEE (J2EE) (Java 2 Platform, Enterprise Edition, Java Platform Enterprise Edition)
  • JavaME (J2ME) (Java 2 Platform Micro Edition, Java Platform Micro Edition).

В июне 2005 года состоялась конференция JavaOne, и Sun анонсировала Java SE 6. В то время различные версии Java были переименованы, чтобы убрать цифру "2": J2EE был переименован в Java EE, J2SE — в Java SE, а J2ME — в Java ME.


Основные возможности

  • Язык Java прост:

    Синтаксис языка Java очень похож на синтаксис C и C++, что делает его легким для изучения и использования большинством программистов. С другой стороны, Java отказывается от тех возможностей C++, которые редко используются, трудно понимаются и запутывают, таких как перегрузка операторов, множественное наследование и автоматическое принудительное преобразование типов. В частности, в языке Java не используются указатели, а используются ссылки. Он также обеспечивает автоматическое выделение и освобождение памяти, так что программистам не нужно заботиться об управлении памятью.

  • Язык Java является объектно-ориентированным:

    Язык Java предоставляет такие объектно-ориентированные возможности, как классы, интерфейсы и наследование. Для простоты он поддерживает только одиночное наследование среди классов, но поддерживает множественное наследование среди интерфейсов и поддерживает механизм реализации между классами и интерфейсами (ключевое слово — implements). Язык Java полностью поддерживает динамическое связывание, тогда как C++ использует динамическое связывание только для виртуальных функций. Короче говоря, Java — это чисто объектно-ориентированный язык программирования.

  • Язык Java является распределённым:

    Язык Java поддерживает разработку интернет-приложений. В базовом интерфейсе программирования Java-приложений существует интерфейс программирования сетевых приложений (java net), который предоставляет библиотеки классов для программирования сетевых приложений, включая URL, URLConnection, Socket, ServerSocket и т. д. Механизм RMI (Remote Method Invocation) в Java также является важным средством разработки распределённых приложений.

  • Язык Java является надёжным:

    Механизм строгой типизации Java, обработка исключений и автоматическая сборка мусора — важные гарантии надёжности Java-программ. Отказ от указателей — мудрый выбор для Java. Механизм проверки безопасности Java делает Java ещё более надёжным.

  • Язык Java является безопасным:

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

  • Язык Java не зависит от архитектуры:

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

  • Язык Java является переносимым:

    Эта переносимость обусловлена архитектурной нейтральностью. Кроме того, Java строго задает длину каждого базового типа данных. Сама система Java также обладает высокой переносимостью: компилятор Java реализован на Java, а среда выполнения Java реализована на ANSI C.

  • Язык Java является интерпретируемым:

    Как упоминалось ранее, программы Java компилируются в формат байт-кода на платформе Java, а затем могут выполняться в любой системе, реализующей платформу Java. Во время выполнения интерпретатор Java на платформе Java интерпретирует и выполняет этот байт-код, а классы, необходимые во время выполнения, загружаются в среду выполнения на этапе компоновки.

  • Java обладает высокой производительностью:

    По сравнению с интерпретируемыми высокоуровневыми скриптовыми языками Java действительно обладает высокой производительностью. Фактически, с развитием технологии компиляции JIT (Just-In-Time) скорость выполнения Java становится все ближе и ближе к C++.

  • Язык Java является многопоточным:

    В языке Java поток — это особый объект, который должен быть создан классом Thread или его подклассами (классами-потомками). Обычно существует два способа создания потока: один — использовать конструктор с сигнатурой Thread(Runnable), чтобы обернуть объект, реализующий интерфейс Runnable, в поток; другой — произвести подкласс от класса Thread и переопределить метод run; объект, созданный с помощью этого подкласса, и есть поток. Стоит отметить, что класс Thread уже реализует интерфейс Runnable, поэтому каждый поток имеет свой метод run, и метод run содержит код, который должен выполняться потоком. Деятельность потока управляется набором методов. Язык Java поддерживает одновременное выполнение нескольких потоков и предоставляет механизм синхронизации между несколькими потоками (ключевое слово — synchronized).

  • Язык Java является динамичным:

    Одной из целей проектирования языка Java является адаптация к динамически изменяющимся средам. Классы, необходимые программе на Java, могут динамически загружаться в среду выполнения, а нужные классы также могут загружаться по сети. Это также облегчает обновление программного обеспечения. Кроме того, классы в Java имеют представление во время выполнения, что позволяет выполнять проверку типов во время выполнения.


История разработки

  • 23 мая 1995 года родился язык Java.
  • В январе 1996 года появился первый JDK — JDK 1.0.
  • В апреле 1996 года 10 ведущих производителей операционных систем объявили, что встроят технологию Java в свои продукты.
  • В сентябре 1996 года с использованием технологии Java было создано примерно 83,000 веб-страниц.
  • 18 февраля 1997 года был выпущен JDK 1.1.
  • 2 апреля 1997 года состоялась конференция JavaOne, в которой приняли участие более 10,000 человек, что установило рекорд по масштабу подобных конференций в мире на тот момент.
  • В сентябре 1997 года сообщество Java Developer Connection насчитывало более 100,000 участников.
  • В феврале 1998 года JDK 1.1 был скачан более 2,000,000 раз.
  • 8 декабря 1998 года была выпущена корпоративная платформа Java 2 J2EE.
  • В июне 1999 года Sun выпустила три версии Java: Standard Edition (Java SE, ранее J2SE), Enterprise Edition (Java EE, ранее J2EE) и Micro Edition (Java ME, ранее J2ME).
  • 8 мая 2000 года был выпущен JDK 1.3.
  • 29 мая 2000 года был выпущен JDK 1.4.
  • 5 июня 2001 года Nokia объявила, что продаст 100 миллионов мобильных телефонов с поддержкой Java к 2003 году.
  • 24 сентября 2001 года был выпущен J2EE 1.3.
  • 26 февраля 2002 года был выпущен J2SE 1.4, и с тех пор вычислительные возможности Java значительно улучшились.
  • 30 сентября 2004 года в 6:00 вечера был выпущен J2SE 1.5, ставший ещё одной вехой в истории языка Java. Чтобы подчеркнуть важность этой версии, J2SE 1.5 был переименован в Java SE 5.0.
  • В июне 2005 года состоялась конференция JavaOne, и Sun анонсировала Java SE 6. В то время различные версии Java были переименованы, чтобы убрать цифру "2": J2EE был переименован в Java EE, J2SE — в Java SE, а J2ME — в Java ME.
  • В декабре 2006 года Sun выпустила JRE 6.0.
  • 20 апреля 2009 года Oracle приобрела Sun за $7.4 миллиарда, получив авторские права на Java.
  • В ноябре 2010 года из-за недружелюбного отношения Oracle к сообществу Java компания Apache пригрозила выйти из JCP.
  • 28 июля 2011 г. Oracle выпустила официальную версию Java 7.0.
  • 18 марта 2014 г. Oracle выпустила Java SE 8.
  • 21 сентября 2017 г. Oracle выпустила Java SE 9.
  • 21 марта 2018 г. Oracle выпустила Java SE 10.
  • 25 сентября 2018 г. была выпущена Java SE 11.
  • 20 марта 2019 г. была выпущена Java SE 12.

Инструменты разработки Java

Для языка Java постарайтесь обеспечить, чтобы система имела более 1G памяти. Другие инструменты перечислены ниже:

После установки вышеуказанных инструментов мы можем вывести первую программу на Java, "Hello World!"

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }

В следующей главе мы расскажем, как настроить среду разработки Java.

Другие расширения