Как начать программировать на Java
Чтобы начать программировать на Java, требуется установить JDK (java development kit — набор разработки для Java). Его скачивают с сайта компании Oracle. Например, JDK восьмой версии https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
JDK включает JRE и пакет разработчика, в который входит компилятор с языка Java, документация и др.
JRE (java runtime enviroment) – виртуальная машина для выполнения приложений, скомпилированных в соответствующий объектный код. Также включает библиотеки, но не компилятор и другие инструменты разработчика. Скачать JRE можно с сайта java.com. Грубо говоря, JRE – урезанная версия JDK. Поэтому разработчику, а не пользователю java-программ, этот пакет не нужен.
После распаковки пакета JDK в его подкаталоге bin вы найдете файл javac, запускающий компилятор, и файл java, запускающий виртуальную машину. Куда вы положите каталог с JDK, по большому счету не важно. Однако если это сделано не в предусмотренный для программ каталог (в случае Linux скорее всего это так), ОС не будет знать, что в ней появились новые программы. Тогда вам надо будет каждый раз указывать полный путь до компилятора и виртуальной машины.
Чтобы этого не делать, в Linux можно дописать путь в системную переменную $PATH. Сделать это можно несколькими способами. Например так, как описано ниже.
Допустим, мы распаковали JDK в каталог /usr/local/, и папка носит имя jdk1.8.0_191. В ней находится каталог bin с исполняемыми программами. Таким образом получаем путь /usr/local/jdk1.8.0_191/bin/. Открываем скрытый в домашнем каталоге файл .bashrc и дописываем туда:
Здесь переменной PATH присваивается содержимое системной переменой $PATH и добавляется еще один наш каталог, точнее приписывается впереди. После этого выполняется экспорт. Теперь надо перезапустить «Терминал», чтобы файл .bashrc выполнился.
Можно ничего не качать и не менять $PATH, а установить из репозитория дистрибутива пакетным менеджером. Однако подобным образом обычно ставят не JDK от Oracle, а openJDK – полностью свободный аналог JDK. Установка в Ubuntu может выглядеть так:
В любом случае Bash должен видеть как java, так и javac. Чтобы убедиться, наберите java и два раза нажмите Tab. В списке должны быть оба. Если в систему были установлены разные JDK, то узнать какой используется можно с помощью команды which:
Где взять Java?
Разумеется, последнюю доступную (на момент написания инструкции это Java 8).
Выбирая из 32-битной и 64-битной версий, берите 64-битную, если ваша операционная система это позволяет, потому что у неё менее строгие ограничения по памяти, доступной исполняемым Java-приложениям.
Настройка переменных сред.
На следующем шаге необходимо задать пути к выполняемым файлам, а именно задать системные переменные PATH, CLASSPATH и JAVA_HOME .
Для этого откройте Панель управления -> Система, выберете Дополнительные параметры системы. В появившемся окне нажмите кнопку Переменные среды.
В открывшемся окне в блоке Системные переменные нужно проверить существует ли переменная PATH, если переменная не существует, то ее нужно создать нажав на кнопку Создать, если переменная PATH уже существует, то ее нужно Изменить (рис. 1.4).
В следующем окне для переменной PATH нужно установить Значение переменной — путь к каталогу, в который была установлена Java (рис. 1.5).
Если переменной PATH уже присвоены другие значения, то новое значение добавляется через точку с запятой «;» в самом конце строки.
Также необходимо создать переменную CLASSPATH, если она еще не создана. В качестве ее значения необходимо указать «.;» (рис. 1.6).
Подобным образом создается/изменяется переменная JAVA_HOME. Значение этой переменной — путь к каталогу, в который была установлена Java (как для PAHT), но уже без поддериктории bin. Например:
Значение в PATH: C:Program FilesJavajdk1.7.0_25bin
Значение в JAVA_HOME: C:Program FilesJavajdk1.7.0_25
После того, как были прописаны переменные, установку Java можно считать завершенной!
Используйте разнообразные ресурсы для изучения Java
Для достижения ваших целей вам понадобятся многие инструменты. Например, вам могут пригодиться следующие:
1. Чистая практика: CodeAcademy
Это, пожалуй, одна из самых известных платформ для изучения многочисленных языков. Конечно, есть раздел и для изучающих Java.
На этой платформе вы с самого первого урока начнете писать код. Если какое-то задание покажется сложным (а это нормально для начинающего), вы сможете воспользоваться весьма полезными подсказками.
Процесс прост: читаете задание, пишете код, запускаете его и наблюдаете результат. А затем переходите к следующему шагу. Постепенно задания становятся все сложнее, аж пока вы не научитесь писать собственный код с нуля. Очень полезен раздел FAQ. Также вы имеете возможность обсудить каждое задание с другими студентами.
Этот курс может стать отличным дополнительным инструментом для изучения Java. Как уже было сказано, чтобы овладеть языком программирования, нужно писать код.
2. Играйте и пишите код с самого начала: CodeGym.cc
Это онлайн-курсы для изучающих Java с особой фичей – геймификацией. Сегодня элементы игры это распространенная практика для онлайн-курсов, поскольку они увеличивают мотивацию и дают ощущение постоянных достижений, а это облегчает ваш путь к достижению цели.
В CodeGym вы начинаете с нулевого уровня в футуристической вселенной с путешествиями между мирами, роботами и прочими клевыми штуками. Ваша цель – пройти образовательные квесты и прокачать своего персонажа – робота. Каждый квест состоит из 10 уровней, а каждый уровень – из 10-12 уроков. Обучение ведут члены команды галактического корабля.
Урок содержит минимум теории и набор заданий с немедленной проверкой, а также советы, как улучшить ваш код. Вы начинаете программировать с самых простых задач и постепенно продвигаетесь к более сложным и массивным проектам.
Все это позволяет вам не застревать на отдельных предметах или задачах, продвигаясь вперед и возвращаясь позже к отложенным головоломкам. В целом весь курс содержит больше 1200 задач. Это примерно 300-500 часов кодинга.
3. Программистские задачи: Codewars
Еще одна платформа с обилием практики. Правда, она больше подходит учащимся с хотя бы небольшим бэкграундом в программировании. Codewars позволяет вам отточить свои навыки работы с определенным языком, практикуя каты.
Вы можете писать свой код в браузере и использовать test cases для его пошаговой проверки. Также можно сравнивать свое решение с вариантами решения других людей, чтобы расширять свои знания и обсуждать лучшие подходы.
Для улучшения навыков вы постоянно будете получать все более сложные задачи. От других эту платформу отличает возможность практиковаться в группе.
4. Слушайте лекции профессионального уровня: EdX
EdX это образовательная платформа, основанная Гарвардским и Массачусетским университетами. Она охватывает множество предметов, включая программирование на Java и смежные дисциплины. Названные университеты предоставляют множество проверенных вступительных курсов и сертифицированных программ.
Каждый курс ограничен по времени и содержит видеолекции с субтитрами. В любой момент можно вернуться к предыдущим урокам и повторить материал. Таких курсов на платформе десятки, некоторые из них бесплатны. Но в любом случае, речь идет только о теории, поэтому позаботьтесь о том, чтобы подкрепить ее практикой.
Хотите быть в курсе последних новостей мира Java? Это правильно. Java постоянно развивается, обновляется и обзаводится новыми фичами. Стоит завести себе пару медиаресурсов для ежедневного чтения. Среди самых крупных можно назвать:
- Javaworld (новости, полезные руководства и много всего другого, что позволит вам оставаться в курсе событий в Java).
- Java Code Geeks (ресурс ориентирован на помощь людям, самостоятельно изучающим Java, найти работу).
- DZone (множество статей и руководств для начинающих и опытных разработчиков).
- Javarevisited (ежедневно обновляемый блог, охватывающий многие темы, связанные с изучением Java).
Помните совет присоединиться к сообществу, чтобы учиться более эффективно? Вы можете задать любой вопрос в разделах, посвященных Java, на Stack Overflow или Coderanch. Также есть как минимум три больших сообщества на Reddit: learnprogramming, java и learnjava. Там вы найдете полезные советы по изучению Java и по программированию в общем.
Если вам нужна более конкретная информация, например, подсказки по улучшению вашего кода в определенных задачах, попробуйте специальный раздел help на CodeGym, где студенты и наставники помогают с любыми проблемами. Наконец, существует огромное сообщество в Oracle, открытое как для начинающих, так и для опытных разработчиков.
Для чего нужно java на компьютер
Набор инструментов разработки на Java (JDK), виртуальная машина (JVM) и среда выполнения (JRE) образуют вместе мощную тройку компонентов платформы для разработки и запуска Java-приложений. В этом кратком руководстве вы узнаете о JRE — среде выполнения Java.
Фактически, среда выполнения — это часть программного обеспечения, предназначенная для запуска другого программного обеспечения. Как среда выполнения для Java, JRE содержит библиотеки классов, загрузчик классов и виртуальную машину Java. В этой системе:
- Загрузчик классов отвечает за правильную загрузку классов и их связь с основными библиотеками классов Java
- JVM отвечает за обеспечение Java-приложений ресурсами, необходимыми для их запуска и эффективной работы на устройстве или в облачной среде
- JRE в основном является контейнером для этих компонентов и отвечает за организацию их деятельности
Каждый раз, когда вы загружаете JDK, он уже будет включать в себя JRE. Эта JRE будет включать JVM по умолчанию. Можно также загрузить JRE отдельно от JDK и выбрать одну из нескольких JVM. Значения по умолчанию подходят для большинства программ, особенно когда вы только начинаете знакомство с Java.
Для запуска и исполнения программы необходима специальная среда выполнения. Она загружает файлы классов, обеспечивает доступ к памяти и другим системным ресурсам. В прошлом, большинство программ использовали операционную систему (ОС) в качестве среды выполнения. Программы запускались на любом компьютере, но для доступа к ресурсам полагались на параметры ОС. В качестве ресурсов выступали память, программные файлы и зависимости. С появлением среды выполнения Java все изменилось, по крайней мере, для Java-программ.
Раньше принцип WORA (англ. «write once, run anywhere – написал один раз, запускай везде») считался революционным, но сегодня это норма для большинства программных систем.
Программное обеспечение можно рассматривать как набор слоев, расположенных поверх системного оборудования. Каждый слой предоставляет службы, которые будут использоваться (и запрашиваться) слоями над ним. Среда выполнения Java — это уровень программного обеспечения, работающий поверх ОС и предоставляющий дополнительные службы, специфичные для Java.
JRE сглаживает разнообразие ОС, гарантируя, что программы Java могут работать практически на любой ОС без изменений. Также автоматическое управление памятью — одна из самых важных функций JRE, гарантирующая, что программистам не придется вручную управлять распределением памяти.
Если коротко, то JRE — это мета-OS для Java-программ. Это классический пример абстракции — абстрагирование базовой ОС в согласованную платформу для запуска приложений Java.
Виртуальная машина Java — программное обеспечение, отвечающее за выполнение Java-программ. JRE — это программа, которая берет ваш Java-код, объединяет его с необходимыми библиотеками и запускает JVM для его выполнения.
JRE содержит программное обеспечение и библиотеки, которые требуются для работы вашей программы. Например, загрузчик классов Java является частью JRE. Эта важная часть программного обеспечения загружает скомпилированный Java-код в память и соединяет с соответствующими библиотеками.
В этом многоуровневом представлении JVM создается средой выполнения Java. С точки зрения пакета, JRE содержит JVM, как показано на рисунке:
Несмотря на концептуальную сторону JRE, в реальной практике — это просто программное обеспечение, установленное на компьютере для запуска Java-программ. Как разработчик вы будете работать с JDK и JVM, т.к. эти компоненты необходимы для разработки и запуска ваших приложений. Как пользователь вы будете использовать JRE для их запуска.
В большинстве случаев компьютеры поставляются с установленной Java, включающей в себя JRE. Если вам когда-либо понадобится установить или обновить JRE вручную, вы можете загрузить актуальную версию JRE с сайта Oracle.
JRE обновляется с каждой новой версией Java, и номера ее версий совпадают с версиями платформы Java. Например, JRE 15 запускает Java 15. Существование множества пакетов JDK (например Enterprise Edition или Standard Edition) не касается JRE. Большинство компьютеров используют JRE, разработанную для Java SE, которая может запускать любое приложение Java независимо от того, как оно было разработано. Большинство мобильных устройств поставляются с JRE для Java ME, которая предварительно установлена на мобильном устройстве и недоступна для загрузки.
После того, как JRE установлена, вы можете узнать ее версию с помощью командной строки, введя в терминале команду java -version . В POSIX-системах вы всегда можете проверить место установки с помощью which java (работает и в win).
Заключение
По-видимому, каждый из этих языков предлагает свои уникальные наборы преимуществ и недостатков. Честно говоря, я думаю, что многое из того, что побуждает нас выбирать один язык над другим, связано с тем, что мы хотим сделать с точки зрения построения решений для себя и других.
Если вы хотите работать в Интернете, JavaScript, скорее всего, ваш лучший выбор. Если, с другой стороны, вы хотите писать настольные приложения, то Java — не плохой выбор.
Для тех, кто заинтересован, стоит отметить, что JavaScript стал одним из де-факто языков работы в Интернете. Это не без кривых обучения, а также множество фреймворков и библиотек, которые заставляют вас напряженно трудиться. Если вы ищете дополнительные ресурсы для изучения или использования в своей работе, ознакомьтесь с имеющимися у нас на рынке Envato.
Я провожу большую часть своего времени, работая с WordPress; Тем не менее, я также поклонник JavaScript и веду блог об этом время от времени. Если вас интересуют другие курсы и учебные пособия, которые я написал для Envato, ознакомьтесь со страницей моего профиля. Кроме того, вы можете прочитать больше статей о разработке WordPress и JavaScript в моем блоге. Не стесняйтесь следовать за мной в Twitter также на @tommcfarlin.