История Java начинается в 1991 году, когда группа программистов компании Sun решила создать язык для маленьких устройств: телевизионных пультов, кофеварок, тостеров, банковских карт, и т.д.
Производители подобных устройств использовали очень разные процессоры для контроллеров своих изделий, поэтому очень важно было не привязываться к архитектуре конкретного процессора или ОС.
Создатели Java решили разбить проблему на две части: их программы будут компилироваться не в машинный код конкретного контроллера, а в специальный промежуточный код. Он, в свою очередь, выполняется специальной программой — виртуальной машиной .
Большинство программистов называют компьютер машиной.
За основу языка Java был взят язык C++, который очень сильно упростили и стандартизировали. Если в C++ что-то можно было сделать десятью способами, то в Java оставили только один. Чем-то это было похоже на переход от иероглифов к алфавиту.
Первую версию Java выпустили в 1996 году. С тех пор Java начала свое победное шествие по всему миру, что, в свою очередь, стимулировало развитие самого языка. Сейчас на Java написаны миллионы библиотек и миллиарды строк кода, а новые версии Java выходят каждые 6 месяцев:
Java синтаксис — Урок 25. Автоматизация тестирования.
JDK 1.0 | 1996 | 211 |
JDK 1.1 | 1997 | 477 |
J2SE 1.2 | 1998 | 1,524 |
J2SE 1.3 | 2000 | 1,840 |
J2SE 1.4 | 2002 | 2,723 |
J2SE 5.0 | 2004 | 3,279 |
Java SE 6 | 2006 | 3,793 |
Java SE 7 | 2011 | 4,024 |
Java SE 8 | 2014 | 4,240 |
Java SE 9 | 2017 | 6,005 |
Java SE 10 | 2018 | 6,002 |
Java SE 11 | 2018 | 4,411 |
Java SE 12 | 2019 | 4,433 |
Java SE 13 | 2019 | 4,515 |
Хоть версии Java выпускались регулярно, с точки зрения программистов, они имели разную значимость: Java развивалась скачками.
2. Java 2
Первый такой скачок произошел с выходом версии JDK 1.2. Там было так много нововведений, что создатели Java переименовали его в Java 2 Platform Standard Edition или сокращенно — J2SE 1.2
Основными нововведениями были:
- Ключевое слово strictfp
- Библиотека Swing для работы с графикой
- JIT-компилятор, который ускорял работу Java-программ
- Большой набор коллекций
- Полная поддержка Unicode: японский, китайский и корейский языки.
Сегодня эти нововведения не кажутся такими уж и большими, но любой большой проект вырастает из маленького. Java не была бы такой популярной сегодня, если бы 20 лет назад небольшая группа программистов не продолжала улучшать язык.
Какие программы пишут на Java?
3. Java 5
Версия JDK 1.5 вышла в сентябре 2004 года. В ней тоже было очень много нововведений, так что без очередного переименования не обошлось: вместо версий 1.5, 1.6, 1.7 решили использовать 5.0, 6.0, 7.0. Поэтому полное название JDK 1.5 стало звучать как Java 2 Standard Edition 5.0
В это обновление вошли вещи, без которых дальнейшее развитие языка было бы невозможным.
Аннотации . На использовании аннотаций построена половина современных фреймворков, начиная с таких громадных как Spring, Hibernate и заканчивая JUnit.
Дженерики . Дженерики (Generics) подняли мощь коллекций (да и не только коллекций) на новую высоту. Код стал проще, компактнее и безопаснее.
Autoboxing/Unboxing — автоматическое преобразование между примитивными типами и их типами-обертками. Это сильно упростило написание и чтение кода, а также еще больше увеличило популярность коллекций.
Цикл foreach сейчас составляет как минимум половину всех циклов, которые пишут программисты. И, конечно, он незаменим при работе с коллекциями.
Enum (enumeration) — еще одно приятное нововведение. Его использование позволяет красиво упрощать многие моменты.
Это не все нововведения: были еще сотни новых классов, но главное в том, что это были очень правильные нововведения, и они дали еще один мощный толчок популярности Java.
4. Java 6
Java 6 запомнилась большим количеством небольших улучшений и отказом от цифры 2 в названии: теперь это была не Java 2 Standard Edition 6.0, а просто Java Standard Edition 6.0.
Вот некоторые интересные нововведения:
Java Compiler API позволил вызывать Java-компилятор прямо из кода. Ваша программа теперь могла сгенерировать код класса в виде текста, скомпилировать его, вызвав методы Java Compiler API , и тут же начать вызывать методы скомпилированного класса. Есть целые направления разработки, где такая вещь очень сильно упрощала жизнь.
JavaScript стало возможным выполнять прямо внутри программы на Java. Эта возможность появилась благодаря тому, что в JavaSE 6 был встроен JavaScript-движок Rhino.
5. Java 7
В июле 2011 года вышла Java 7. В ней должно было быть много улучшений, но программисты успели добавить только небольшую часть из запланированного. В частности, были добавлены такие вещи как:
Новая библиотека для работы с вводом и выводом данных. Она так и называется — New Input Output API и находится в пакете java.nio .
Автоматическое выведение типов Java-компилятором на этапе компиляции позволило программистам писать меньше кода. Компилятор стал умнее, и это было только начало.
В switch в качестве значений стало воможно использовать строки.
Также был существенно улучшен процесс автоматического управления ресурсами: Java-программа сама закрывает потоки данных, когда они становятся не нужны: try -with-resources.
Было еще много различных изменений, но они не так важны в рамках нашего текущего процесса изучения Java
6. Java 8
Java 8 вышла в марте 2014 года и была самым сильным последним обновлением Java.
Также были добавлены Stream (потоки) для коллекций, которые в сочетании с лямбда-выражениями позволяли писать код гораздо компактнее. Хотя и не всегда гораздо читабельнее.
Появление потоков — stream — нанесло еще один удар по любителям называть нити (threads) потоками. Сейчас, чтобы не путать, многие русскоязычные программисты чаще всего называют нити тредами (thread), но от слова многопоточность пока не избавились.
И третье крупное изменение: в Java 8 появилось целое новое API для работы с датой и временем — Date Time API. Мы будем его изучать в ближайшее время.
7. Java 9
Релиз Java 9 состоялся в сентябре 2017 года. С этого момента разработчики Java решили выпускать новые версии чаще — каждые полгода. Скорее всего, их впечатлил подход разработчиков браузера Google Chrome.
Релиз Java 9 коснулся больше внутреннего устройства Java-машины. Самое значительное, что он принес рядовым программистам — возможность разделять программу на модули. Очень удобно, когда у вас в коде десятки тысяч классов или динамически выгружаемые плагины.
Но скорее всего, в ближайшее время нам это мало пригодится.
8. Java 11
Спустя полгода после выхода Java 9 вышла Java 10, а еще спустя полгода вышла Java 11.
За это время было сделано куча мелких улучшений, но скорее всего, вы запомните только два:
Добавлена поддержка Unicode 10. Теперь в своих Java-программах вы можете использовать emoji (эмодзи). Работать с ними можно, как и с любыми другими символами — они просто часть Unicode.
Также было улучшено выведение типов и появилось ключевое слово var — это вам точно понравится.
Теперь можно писать:
var str = «Привет»;
А компилятор преобразует это в:
String str = «Привет»;
Но не обошлось и без потерь. Разработчики Java исключили из JDK 11 такие библиотеки как JavaFX, Java EE и CORBA.
9. Важность совместимости
Очень часто при выпуске новой версии программисты хотят начать все с чистого листа. Ну кому охота исправлять кучу старых ошибок, когда теперь точно уверен, как нужно было делать с самого начала.
Однако история против такого подхода. Каждый раз, когда программисты выпускают новую версию программы, 90% ее пользователей — это пользователи старой версии. Они могут пользоваться новыми функциями программы или игнорировать их, но вот что они ненавидят, так это если перестает работать то, что раньше отлично работало.
Многие отличные продукты погибли, когда программисты выпустили новые несовместимые версии. Или просто внесли кардинальные изменения. Тот же Windows 8 с его идеей отказа от кнопки «Пуск» не понравился пользователям. Пришлось выпускать Windows 10, в которой вернули половину того, что было удалено в Window 8.
С другой стороны, сейчас в Windows вы можете запустить программу, написанную 20 лет назад под Windows 95 или 30 лет назад под MS DOS 3.0, и она будет работать. Это одна из причин, почему Windows остается популярной.
Java тоже не была бы столь популярной, если бы ее разработчики не заботились о совместимости. Каждый раз при выходе новой версии Java-машины, новой версии SDK, серьезных изменениях в классах, весь Java-код, написанный с января 1996 года, продолжает работать.
Обычно это достигается за счет того, что новые методы, классы и пакеты только добавляются, но ничего не удаляется. У этого подхода есть свои плюсы и минусы.
С одной стороны, Java тянет с собой кучу балласта в виде старого, неоптимального и ненужного кода, а с другой, вы всегда можете добавить в ваш проект, написанный на Java 11, библиотеку, которая написана на Java8 и использует библиотеки, написанные на Java 5 и Java 2. И вся эта сборная солянка отлично будет работать.
В случае с языком C++ вы не можете в одном проекте использовать библиотеки, скомпилированные под 32х разрядную платформу и 64х разрядную. И на ровном месте получите большую головную боль, если одна библиотека использует тип char длиной в один байт, а другая — в два байта.
10. Deprecated
Итак, создатели Java решили ничего не удалять, а только добавлять новые классы и пакеты. А как дать знать программистам, что существующему неоптимальному решению появилась достойная альтернатива?
Если какой-то метод или класс устаревал, рядом с его объявлением прописывалась эта аннотация. Это значит, что программистам не рекомендуется использовать этот программный элемент.
Вы по-прежнему можете использовать этот класс и/или метод, но это не рекомендуется.
И как часто люди делают то, что не рекомендуется? Почти всегда
Многие классы уже по 20 лет в состоянии deprecated, а их как использовали, так и используют. Привыкли, или просто удобно. Хотя риск, что их когда-нибудь удалят все же присутствует, так что лучше так не делать.
Date date = new Date(); int day = date.getDay();
Устаревшие классы бывают очень популярны и часто встречаются в любом коде, так что некоторые из них мы рассмотрим в ближайшее время.
Источник: javarush.com
Установка и настройка Java в Windows 7
Во многих моих тренингах так или иначе используется Java, либо как язык программирования для разработки автотестов, либо как виртуальная машина для запуска приложений, написанных на Java — инструментов тестирования, сред разработки, и даже клиент системы видеоконференций GotoWebinar требует наличия Java.
Поэтому я решил описать процедуру установки Java для операционной системы Windows и последующей настройки системы, потому что, к сожалению, недостаточно просто “запустить инсталлятор и всегда нажимать кнопку Next”.
1. Где взять Java?
На официальном сайте Oracle Java.
2. Какую версию выбрать?
Разумеется, последнюю доступную (на момент написания инструкции это Java 8).
Выбирая из 32-битной и 64-битной версий, берите 64-битную, если ваша операционная система это позволяет, потому что у неё менее строгие ограничения по памяти, доступной исполняемым Java-приложениям.
3. Что устанавливать, JRE или JDK?
Java Runtime Environment, или JRE — это виртуальная машина, позволяющая запускать приложения, написанные на языке программирования Java.
Java Development Kit, или JDK — это набор инструментов, для разработки программ на языке программирования Java (компилятор, архиватор, генератор документации и прочие). JRE разумеется тоже входит в дистрибутив JDK.
Правило очень простое: если вы собираетесь что-нибудь писать на языке программирования Java, значит вам потребуется JDK. А если только запускать готовые программы — тогда достаточно JRE.
4. Установка Java
Вот тут, действительно, всё просто — нужно запустить инсталлятор и следовать указаниям визарда. Можно просто всё время нажимать кнопку Next.
5. Настройка переменных окружения
К сожалению, инсталлятор Java не выполняет настройку переменных окружения, поэтому придётся сделать это вручную после установки.
Во-первых, необходимо установить переменную JAVA_HOME , которая должна указывать на директорию, в которую установлена Java. Многие программы используют эту переменную, чтобы определить, где находится Java.
Во-вторых, надо в переменную PATH добавить путь к директории %JAVA_HOME%bin . Эта переменная указывает операционной системе список директорий, в которых нужно искать исполняемые файлы, и чтобы можно было запускать Java из консоли, переменная PATH должна быть правильно настроена.
Для установки переменных окружения сначала нужно открыть свойства компьютера, либо использовав сочетание клавиш Win-Pause, либо через меню “Пуск”:
Затем нужно выбрать “Дополнительные параметры системы”, в открывшемся диалоге перейти на вкладку “Дополнительно” и нажать кнопку “Переменные среды”, после чего появится диалог настройки переменных окружения.
Если у вас уже есть переменная окружения JAVA_HOME — надо её отредактировать, если нет — создать новую. В качестве значения нужно указать путь к директории, куда установлена Java, то есть, например c:Program FilesJavajdk1.8.0_25 , если вы установили JDK, либо c:Program FilesJavajre1.8.0_25 , если вы установили только JRE.
После того, как вы установили значение переменной JAVA_HOME , необходимо отредактировать значение переменной PATH, добавив туда путь к директории, где находятся исполняемые файлы Java, то есть %JAVA_HOME%bin
И сохранить всё это, закрыв все открытые диалоги в обратном порядке кнопками OK.
Обратите внимание, что если вы устанавливаете JDK, то в названии директории указывается номер версии, поэтому впоследствии, когда вы решите установить более новую версию, не забудьте поменять значение переменной окружения JAVA_HOME .
После того, как вы изменили переменные окружения, новые значения будут действительны только для новых запускаемых программ, уже запущенные программы не узнают о том, что переменные окружения поменялись. Поэтому если вы, например, пытались запустить Java из консоли и у вас не получилось из-за неправильных настроек переменной PATH , вам придётся перезапустить консоль после того, как вы поменяли значение переменной.
6. Удаление лишних файлов
Запустите консоль ( cmd ) и выполните в ней команду where java .
В результате вы должны увидеть путь к исполняемому файлу java.exe , который операционная система должна успешно обнаружить в том месте, куда вы установили Java. Если файл не нашёлся — значит неправильно настроена переменная PATH и нужно вернуться к предыдущему пункту.
Однако иногда бывает и наоборот, находятся «лишние» исполняемые файлы:
Происходит это из-за того, что инсталлятор Java вместо того, чтобы правильно настроить переменные окружения, пытается положить исполняемые файлы в директорию C:Windowssystem32
Это не очень хорошо — засоряется системная директория, может возникнуть рассогласование версий Java (в разных директориях разные версии). Поэтому надо удалить из каталога C:Windowssystem32 исполняемые файлы java.exe , javaw.exe и javaws.exe , если они там обнаружатся.
Вот и всё, теперь можно пользоваться Java. Только не забывайте о том, что после установки новой версии надо будет обновить переменную окружения JAVA_HOME !
Зачем пользователю Интернет загружать и устанавливать Java
Без Java сегодня практически невозможно представить работу в сети Интернет, так как это нечто большее, чем одноименный язык программирования. Благодаря ему эффективно функционируют мобильные телефоны и большая часть Интернет-приложений: игры, интерактивные карты, банковские системы, дистанционные курсы и так далее. Разработчик рекомендует устанавливать только последнюю версию программы. Таким образом вы получите максимально безопасное решение.
Лучший вариант загрузки — с официального сайта
Что представляет собой Java
Это модульный комплекс взаимосвязанных программ, предназначенных для разных категорий пользователей. Если быть точным, Java как технология предусматривает несколько компонентов:
- язык программирования и комплект для разработчика программ;
- платформу для вычислений на компьютерах любого назначения и под управлением любой ОС.
Платформа включает в себя, помимо стандартных компонентов и модулей технологии, еще и среду создания программ на языке программирования получившей название Java Development Kit, или (JDK – комплект для разработчика программ на Джава). Большинство обычных пользователей может установить только среду исполнения Java Runtime Environment (JRE). Основу которой представляет Java Virtual Machine (JVM – виртуальная машина Java) и набор предоставляемых библиотек и компонентов ее среды (классы). Все они выполняют работу по запуску и обслуживанию программ написанных на упомянутом языке программирования.
Установка исполняющей среды Java и ее особенности в ОС Windows
Компания Oracle, нынешний собственник технологии и ее компонентов, постоянно совершенствует программное обеспечение. Со своего официального ресурса она предлагает абсолютно бесплатную загрузку новейшей версии пакета Java для всех распространённых ОС, и в первую очередь для Windows. Здесь пользователь может выбрать два типа загрузки: интерактивный и автономный режимы. Текущий пакет имеет только новейшую версию, поэтому старайтесь не использовать старую версию в ущерб безопасности и снижению производительности программ.
Перед установкой производится настройка операционной системы, чтобы установке исполняющей среды не мешала активная защита ОС. Речь идет о межсетевых экранах и брандмауэрах антивирусных программ, их нужно отключить. После того как установка будет завершена выполните запуск этих утилит.
Установка Java в интерактивном режиме запускает на выполнение напрямую из сети Интернет специальный исполняемый файл IFTW (Install From The Web). Нужно быть в сети до конца установки, иначе она будет прекращена. Метод автономной загрузки проще, скаченный с сервера файл exe, может быть запущен и протестирован в любой момент времени, в том числе без интернета. Вся последующая настройка Java происходит автоматически, в том числе постоянная готовность к обновлению.
Выбор типа загрузки и разрядности ОС
Текущей версией является 8u66, а для ее установки на ОС Windows потребуется соблюсти несколько общих условий:
- Ваша учетная запись должна быть настроена с правами Администратора ОС Windows;
- Требуется установка браузера одной из последних версий (Internet Explorer, Firefox, Chrome, Opera).
Пакет Java распространяется для 32 и 64 разрядных систем и браузеров. Для непосвященных укажем: разрядность иначе подписывается английским словом bit, например, XP Home имеет только 32 bit (бита) разрядности. Выбирайте ту версию пакета, которая соответствует вашей системе и браузеру. Особенно это касается ручной установки, где специально предлагается два варианта загрузки для Windows. Единственное исключение составляют серверные системы, для которых потребуется загрузка только версии ОС 64 bit, например, Windows Server 2008 R2.
В отсутствии технической поддержки со стороны официального разработчика ОС Windows XP, новая восьмая версия Джава может работать некорректно. Для использования на старших выпусках ОС Windows браузеров обоих разрядов, следует установить обе версии Java во избежание конфликта версий. Дело в том, что в этом случае при инсталляции будет установлен один общий модуль для подключения.
Окно установщика пакета программ Java
Java и Windows 10
Обновление номер 51 выпуска Java 8 поддерживает Windows 10. К огромному сожалению, новый браузер Edge, входящий в состав 10 версии не поддерживает Java технологию, по этой причине придется пользоваться другими браузерами. Операционная система Windows 10 содержит удобную систему поиска (увеличительное стекло в левом нижнем углу экрана). Вызов панели управления проще всего выполнить через неё, набрав в строке поиска «Настроить Java».
Проверка разрядности
В браузерах всех типов и выпусков, есть пункт главного меню «Нelp» (Помощь) или «О программе». В них прямо указана разрядность браузера, и если ее нет, то считайте вашу версию 32 разрядной.
Специалисты советуют тщательно проверять разрядность браузера, в особенности это касается Internet Explorer. Даже в стандартной поставке 64 разрядных ОС Windows начиная с версии XP и до версии 7, в них по умолчанию действует прежний 32 разрядный браузер. Другой тип так же идет в комплекте, но он устанавливается опционально самим пользователем. Будьте внимательны, такой браузер не гарантирует корректного изображения всех современных сайтов и работы веб-приложений.
Если у вашего ПК достаточный размер оперативной памяти (от 4Гб и более), используйте только браузер с разрядностью 64 bit, так как он способен использовать вдвойне больший объем оперативной памяти компьютера. Это значит лишь одно: ваши программы, загруженные в текущем сеансе работы ОС, в особенности игры, будут работать максимально быстро.
Проверка установки
После всех процедур установки, не зависимо от варианта загрузки, возможно, потребуется перезагрузка запущенного в это время браузера. Такая процедура необходима для включения модуля Java со стороны сервера компании Oracle. Помните, только установка последней версии обеспечит безопасность работы браузера.
Что делать если Java не устанавливается или работает некорректно
На сайте компании разработчика Java есть страница http://www.java.com/ru/download/help/ на которой представлено описание решений основных 15 проблем установки, эксплуатации и обновлений пакета.
К примеру, пользователи ОС XP, коих еще остается очень много, рискуют столкнуться с проблемой повреждения файлов. Ее решение было реализовано самой компанией Microsoft, выпустившей специальную системную программу-утилиту Microsoft Fix it (поддерживает XP, 7 и 8 версии). После применения утилиты, скачать которую можно на официальном сайте Microsoft, выполнение повторной установки Джава в автономном режиме произойдет уже с восстановленными файлами.
Источник: nastoysam.ru