Что такое технология Java и каково ее применение? Изучаем Java.


Обучение профессии "Веб-разработчик"
Учеба на "Разработчика игр" + трудоустройство

Как использовать JDK и как с ним работать?

Несмотря на то, что набор JDK предназначен для создания программ, работающих в графических средах, таких как MS Windows или X Window System, он ориентирован на выполнение из командной строки окна Command Prompt в MS Windows. В системах UNIX, Linux, BSD можно работать и в текстовом режиме, и в окнеXterm.

Написать программу на Java можно в любом текстовом редакторе, например Notepad, WordPad в MS Windows, редакторах vi, emacs в UNIX. Надо только сохранить файл в текстовом, а не графическом формате и дать ему расширение java. Пусть, для примера, именем файла будет MyProgram.java, а сам файл сохранен в текущем каталоге.

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

javac MyProgram.java

Компилятор создает в том же каталоге по одному файлу на каждый класс, описанный в программе, называя каждый файл именем класса с расширением class. Допустим, в нашем примере имеется только один класс, названный MyProgram, тогда получаем файл с именем MyProgram.class, содержащийбайт-коды.

Компилятор молчалив - если компиляция прошла успешно, он ничего не сообщит, на экране появится только приглашение операционной системы. Если же компилятор заметит ошибки, то он выведет на экран сообщения о них. Большое достоинство компилятора JDK в том, что он "отлавливает" много ошибок и выдает подробные и понятные сообщения.

На экране появится вывод результатов работы программы или сообщения об ошибках времени выполнения.

Работая в графических оболочках операционных систем, мы привыкли вызывать программу на исполнение двойным щелчком мыши по имени исполнимого файла (в MS Windows у имени исполнимого файла стандартное расширение exe) или щелчком по его ярлыку. В технологии Java тоже есть такая возможность. Надо только упаковать class-файлысбайт-кодамив архив специального вида JAR. Как это сделать, рассказано вглаве 25. При установке JDK на MS Windows для файлов с расширением jar автоматически создается ассоциация с интерпретатором java, который будет вызван при двойном щелчке мыши наjar-архиве.

Кроме того, можно написать командный файл (файл с расширением bat в MS Windows или Shell-файлкомандной оболочки в UNIX), записав в нем строку вызова интерпретатора java со всеми нужными параметрами.

Еще один способ запустить Java-программу средствами операционной системы - написать загрузчик (launcher) виртуальной машины Java. Так и сделано в стандартной поставке JDK: исполнимый файл java.exe содержит программу, написанную на языке С, которая запускает виртуальную машину Java и передает ей на исполнение класс Java с методомmain(). Исходный текст этой программы есть среди исходных текстов Java в каталоге src/launcher. Им можно воспользоваться для написания своего загрузчика. Есть много программ, облегчающих написание загрузчика, например программа Java Launcher фирмы SyncEdit, http://www.syncedit.com/software/javalauncher/ , или Advanced Installer for Java фирмы Caphyon, http://www.advancedinstaller.com/ .

Наконец, существуют компиляторы исходного текста, написанного на языке Java, непосредственно в исполнимый файл операционной системы, с которой вы работаете. Их общее название AOT (Ahead-Of-Time)compiler. Например, у знаменитого компилятора GCC (GNU Compiler Collection) есть вход с именем GCJ, с помощью которого можно сделать компиляцию как вбайт-коды,так и в исполнимый файл, а также перекомпиляциюбайт-кодовв исполнимый файл.

Если работа из командной строки, столь милая сердцу "юниксоидов", кажется вам несколько устаревшей, используйте для разработки интегрированную среду.

Если вы новичок и только начинаете учить Java, вы наверняка задумывались, где именно используют Java? Вы не наблюдаете множество игр, написанных на Java, за исключением Minecraft, такие настольные утилиты, как Adobe Acrobat, Microsoft Office не написаны на Java, так же, как и ваша операционная система, будь то Linux или Windows, так где же всё-таки применяют Java? Имеет ли она какое-либо реальное применение вообще? Что ж, вы не одиноки, многие программисты, только вступившие на IT путь или уже уверенные специалисты, задаются этим вопросом. Между тем, вы можете узнать, где используется Java, просто установив Java на ваш компьютер, Oracle утверждает, что более 3 миллиардов устройств работают на Java, довольно большое число, не так ли? Большинство крупных компаний так или иначе используют Java. Многие серверные приложения, обрабатывающие десятки миллионов запросов в день, написаны на Java, высокочастотные трейдинговые приложения также написаны на Java, например трейдинговые приложения LMAX, использующие их новаторский многопоточный параллельный фреймворк Disruptor . В этой статье мы более подробно рассмотрим, в каких проектах используется Java, в каких областях она доминирует и где вообще применима в реальном мире?

Этот универсальный язык программирования используют компании разного масштаба в своем корпоративном серверном ПО. Написанные на Java приложения можно найти везде: в «умном» чайнике, твоем Android-смартфоне, компьютере или автомобиле Tesla. И поскольку Java есть везде, найти работу, зная этот язык, довольно просто.
Зачем нужно учить Java?
Всё просто: Java - универсальный язык, который используют сотни тысяч компаний. Так что если вы знаете Java, довольно легко найти интересную работу. Java достаточно несложен в освоении, поэтому он подходит тем, кто впервые подошёл к изучению программирования. Этот язык работает на всех платформах, и хотя он постоянно обновляется и модернизируется, старый Java-код совместим с новым.

Реальные Java приложения

Существует множество областей применения Java, от сайтов электронной коммерции до Android приложений, от научных до финансовых приложений, таких как трейдинговые системы, от игр, типа Minecraft, до настольных программных средств, таких как Eclipse, Netbeans и IntelliJ, от open source фреймворков до J2ME приложений и т.д. Давайте детальнее рассмотрим каждое из них.

Android приложения

Если хотите увидеть, где используется Java, не нужно далеко идти. Просто возьмите свой телефон на Android, абсолютно все приложения написаны на Java, с использованием Google и Android API, которые схожи с JDK. Пару лет назад Android предоставил необходимые возможности, благодаря чему сегодня многие Java программисты – Android разработчики. Кстати, Android использует другую JVM и другой и другой способ компановки, но код всё ещё написан на Java.

Серверные приложения в сфере финансовых услуг

Java очень обширно применяется в финансовой сфере. Многие мировые инвестиционные банки, типа Goldman Sachs, Citigroup, Barclays, Standard Charted и другие используют Java для написания фронт-энд и бэк-энд офисных электронных систем, систем регулирования и конфирмации, проектов обработки данных и некоторых других. Преимущественно Java используется при написании серверных приложений, в большинстве своём без какого-либо пользовательского интерфейса, которые получают данные с одного сервера, обрабатывают их и отправляют дальше. Java Swing был также популярен для создания «толстоклиентных» интерфейсоф, но сейчас C# быстро захватывает рынок в этой области, а Swing уже выдыхается.

Вэб-приложения

Также Java широко используется в электронной коммерции и в области вэб-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Многие вэб-приложения государственных, оздоровительных, страховых, образовательных, оборонительных и некоторых других отделений написаны на Java.

Программные средства

Многие полезные програмные средства и средства разработки написаны и разработаны на Java, например Eclipse, IntelliJ Idea и Netbeans IDE. Мне кажется это, к тому же, наиболее используемые приложения, написанные на Java. Было время, когда Swing был очень популярен при создании «толстых клиентов», преимущественно в финансовой сфере. Сегодня Java FX набирает всё большую популярность, но это всё ещё не замена Swing, к тому же C# практически полностью вытеснил Swing из финансовой области.

Трейдинговые приложения

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

J2ME приложения

Несмотря на то, что появление iOS и Android практически уничтожило J2ME рынок, в мире ещё огромное количество дешёвых телефонов от Nokia и Samsung, использующих J2ME. Было время, когда практически все игры и приложения, доступные на Android, были написаны с использованием MIDP и CLDC, которые являются частью платформы J2ME. J2ME всё ещё популярен в таких средствах, как Blu-ray, карточки и телевизионные приставки. Одна из причин такой популярности WhatsApp – он также доступен на J2ME.

Встраиваемые системы

Обширна Java и в области встраиваемых систем. Можно увидеть на что способна платформа, вам нужно всего 130 KB для использования Java (на смарт-картах и сенсорах). Изначально Java разрабатывалась для встраиваемых систем. В действительности эта область была частью начальной кампании Java «пиши один раз, запускай где-угодно» и похоже, что она приносит свои плоды.

Большие данные

Hadoop и другие технологии обработки больших данных так или иначе используют Java, например Hbase и Accumulo от Apache, или ElasticSearch. Хоть Java и не доминирует в этой области, поскольку существуют такие технологии, как MongoDB, которые написаны на С++. У Java есть потенциал получить большую долю этой растущей области, если Hadoop или ElasticSearch расширятся.

Высокочастотные трейдинговые пространства

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

Научные приложения

В наши дни часто Java – выбор по-умолчанию для научных приложений, включая обработку естественного языка. Основная причина в том, что Java более безопасна, мобильна и надёжна и имеет лучшие инструменты параллелизации, чем С++ и другие языки. В девяностые Java была достаточно популярна в интернете, благодаря апплетам, но спустя годы, апплеты утратили свою популярность, преимущественно из-за различных проблем безопасности. В наши дни настольная Java и апплеты практически мертвы. Java по-умолчанию любимец в индустрии программного обеспечения, и широко используется в финансовой сфере, инвестиционных банках и в области электронной коммерции. Каждый, изучающий Java, имеет яркое будущее. Java 8 только укрепила веру в то, что Java продолжит доминировать в области разработки ещё долгие годы. В комментариях к статье поставили под вопрос реальное применение Java, из-за обилия финансовых примеров в самой статье и задались вопросом, есть ли у Java будущее в настольной разработке, и не лучше ли учить C#? Вот некоторые контраргументы: There is no point for a Java developer to learn C# as they are similar language but just for different technical stack, instead you should learn Python, Ruby or Perl. Scripting language are very good for small tasks. Нет никакого смысла для Java разработчика учить C#, поскольку это похожие языки, но для разных областей. Вместо этого лучше учить Python, Ruby или Perl. Скриптовые языки хороши для небольших заданий. Java is actually used EVERYWHERE, it"s in your phone, it"s in your cable"s settop box, it"s in your credit card, it"s on the server which you are currently connected to, it"s on the browser you are currently using it. Java is the most ubiquitous language ever created. Java фактически используется повсюду, она в вашем телефоне, в вашей телеприставке, в вашей кредитке, на сервере, к которому вы сейчас подключены, в браузере, который вы сейчас используете. Java - наиболее вездесущий язык, который когда-либо создавали. Также в коментариях даются ссылки на пару статей, а именно: Второе пришествие Java и Работодатели хотят знаний Java как ничто другое . Если изъявят желания, то можно перевести и их. P.S.: прошу оценить перевод, сделать замечания, указать на ошибки, потому что появилось желание переводить и хочется, чтобы всё было на подобающем уровне. Перевод и доработка статьи Скачайте последнюю версию JDK (Java Development Kit). Ее можно найти по этой ссылке: Java SDK 5.0 . Перейдите по ссылке Download JDK и cкачайте JDK для той платформы, которую будете использовать.

После установки проверьте, что в системную переменную PATH добавлен каталог, в котором находится java.exe и javac.exe. Сделать это можно так (в Windows):

Start --> Settings --> Control Panel --> System --> Advanced --> Environment Variables
(Пуск --> Настройки --> Панель управления --> Система --> Дополнительно --> Переменные среды )

Найдите в списке переменную PATH и добавьте к ней путь к директории, в которой находятся файлы java.exe и javac.exe. Например, у меня этот путь – D:JavaToolsjdk_1.5bin . Если у вас еще нет переменной PATH, создайте ее. Проверить, все ли в порядке, можно так: запустить командную строку (Пуск --> Выполнить , введите слово cmd и нажмите Enter) и ввести команду java . Вы должны получить следующий результат:

Код

Usage: java [-options] class
(to execute a class)
or java [-options] -jar jarfile
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM
The default VM is client.

Это означает, что виртуальная машина была найдена, но вы вызвали ее с неправильными аргументами. Ничего, всему свое время:) . Если же вы получили сообщение «’java’ is not recognized as an internal or an external command, operable program or batch file », значит, вы что-то сделали неправильно.

Также рекомендуется создать переменную с именем JAVA_HOME , ее значением будет путь к каталогу, в который вы установили JDK (например, D:JavaToolsjdk_1.5 ). Эта переменная используется серверами приложений (Tomcat, JBoss и т.п.), утилитами сборки проектов (ANT, Maven и т.п.). На компиляцию и запуск приложений из командной строки она не влияет.

3. С помощью любого текстового редактора создайте файл HelloWorld.java :

Код

public class HelloWorld
{
{
hw.showString();
}
public void showString()
{
}
}

4. Скомпилируйте файл, набрав в командной строке
javac HelloWorld.java
, находясь в каталоге с этим файлом.

5. После того, как компиляция пройдет успешно у Вас в директории появится файл HelloWorld.class. Теперь Вы можете запустить свое приложение набрав строку
java HelloWorld

Обратите внимание, что после слова java надо набрать ТОЛЬКО ИМЯ КЛАССА (расширение.class указывать не надо).

Если вы получили в результате такое сообщение об ошибке «ClassNotFoundException », то вам нужно установить еще одну системную переменную – CLASSPATH. Делается это точно так же, как было описано выше. Значением переменной должен быть список путей, по которым Java будет искать классы при запуске. Например, вот такой:
.;D:JavaMyProject1classes
Точка нужна для того, чтобы включить в поиск текущий каталог.

Можно обойтись и без установки системных переменных. Допустим, вы установили JDK в каталог D:JDK и создали файл D:HelloWorld.java. Тогда скомпилировать и запустить его можно будет так:
D:JDKbinjavac.exe D:projectsHelloWorld.java
D:JDKbinjava.exe –classpath D: HelloWorld

Дополнительное замечание о работе с пакетами

На практике классы обычно помещают в пакеты (например, mypack ):

Код

package mypack;

public class HelloWorld
{
public static void main(String args)
{
HelloWorld hw = new HelloWorld();
hw.showString();
}
public void showString()
{
System.out.println("Hello, World!");
}
}

При этом должны соблюдаться следующие правила:
1. Java-файл HelloWorld.java должен находиться в каталоге mypack .
2. Компиляция производится командой javac mypack.HelloWorld.java
3. Запуск производится командой java mypack.HelloWorld (при условии, что каталог, в котором находится mypack, добавлен в CLASSPATH).

Как вы знаете, Java - один из самых популярных языков программирования в мире и его знание существенно увеличит вашу значимость как программиста. Итак, вы решили начать писать на этом языке. Вам понадобится поставить JDK для того, чтобы писать и запускать программы на Java. JDK - набор софта, разработанного Oracle, содержащий в себе компилятор (javac), среду выполнения (Java Runtime Environment), стандартную библиотеку языка, примеры и документацию. Прочитав эту статью, вы узнаете, как установить и настроить JDK на своей системе, что такое среда разработки и какие варианты IDE существуют для Java. Также вы напишете свою первую программу на Java.

Установка Java Development Kit

  1. Перейдите на сайт Oracle и загрузите JDK для вашей платформы.
  2. После загрузки извлеките полученный архив и запустите извлеченное приложение.
  3. В процессе установке выберите вариант «Development Tool» и нажмите «Next».
  4. Спустя некоторое время установка завершится.

Итак, вы установили Java Development Kit, но это еще не всё. Необходимо настроить его для вашей системы.

Настройка JDK на примере Windows

  1. Перейдите в папку %ProgramFiles%\Java\%версия установленного вами jdk%\bin , нажмите на свойства любого файла в этой папке и скопируйте путь к нему.
  2. Перейдите в свойства вашего компьютера, откройте вкладку «Дополнительно», нажмите «Переменные среды…». В открывшемся окне создайте новую переменную, назовите её Path , в её значение вставьте скопированный ранее путь.
  3. Теперь самое важное. Откройте командную строку и наберите javac , чтобы убедиться, что JRE установлен и настроен. Если выдаётся список аргументов к команде javac , то поздравляю, вы успешно установили и настроили всё, что необходимо для использования Java!

После установки JDK и JRE не помешает установить на компьютер одну из IDE.

Установка IDE

Для начала разберёмся, что такое IDE .

IDE (Integrated Development Environment) — это комплекс программных средств, используемый программистами для разработки программного обеспечения. IDE позволяет с лёгкостью писать, запускать, отлаживать и тестировать код.

Для написания сложных программ целесообразно использовать IDE. Мы рассмотрим наиболее популярные.

Блокнот

Да, и в блокноте можно писать код! Для разработки вам потребуется всего лишь установить JDK и указать путь к ней. Пишете код в блокноте, компилируете с помощью командной строки. Тем не менее, для разработки сложных программ это не самый лучший вариант из-за отсутствия каких-либо дополнительных возможностей, присутствующих в продвинутых IDE.

NetBeans

NetBeans - выбор профессиональных Java-разработчиков. В ней есть уникальные возможности и инструменты, которые позволят вам сделать вашу программу кроссплатформенной, а код удобочитаемым. NetBeans поддерживает не только Java, но и другие языки программирования для десктоп- и веб-разработки. Она полностью бесплатна, скачать её можно с официального сайта. Вот лишь некоторые её возможности:

  • форматирование кода;
  • установка сторонних библиотек;
  • простой графический интерфейс;
  • и многое, многое другое…

Eclipse

Eclipse , как и Netbeans - одна из наиболее популярных IDE. Она предоставляет впечатляющий интуитивно понятный интерфейс и производительную среду разработки, позволяющую комфортно разрабатывать приложения на Java. Скачать Eclipse можно бесплатно с официального сайта. Преимущества:

  • возможность форматировать код так, как вам удобно;
  • поддержка разбиения кода на модули;
  • лёгкость использования одного и того же кода в разных проектах;
  • перетаскивание (drag-and-drop);
  • просмотр содержимого библиотек;
  • удобный интерфейс.

IntelliJ IDEA

IntelliJ IDEA - известная IDE для Java, написанная, как ни странно, на Java. Укомплектована уникальными инструментами и позволяет без проблем ориентироваться в программе. Нахождение ошибок и отладка кода никогда не были такими легкими, как с IntelliJ IDEA.

JCreator

JCreator - продвинутая и самая быстрая IDE для Java, написанная на C++.

Пишем свою первую программу

Итак, вы установили и настроили JDK, JRE и IDE для Java. Каков следующий шаг? Конечно же, написать программу, чтобы окончательно убедиться, что всё работает и вы готовы к изучению языка. Вы познакомитесь с базовой структурой кода на Java и создадите свою первую программу! Стоит отметить, что перед изучением Java следует ознакомиться хотя бы с самыми простыми принципами объектно-ориентированного программирования.

Структуру программы на Java можно представить так:

Структура программы на Java

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

Перед тем, как приступить к созданию программы, необходимо создать проект, а в нём и файл, в котором будет содержаться ваш код. Рассмотрим создание проекта на IDE Eclipse, но в остальных IDE процесс отличается не сильно. Cверху выберите «File», затем наведите курсор на «New», в открывшемся меню выберите «Java Project». В появившемся окне введите имя проекта и другие нужные вам настройки (если не уверены, что делать, то можно просто оставить все как есть) и нажмите «Next». Готово, вы создали проект! Осталось лишь создать в нём класс, в котором вы напишете свою первую программу. Щёлкните правой кнопкой мыши по вашему проекту (он должен появиться справа) и выберите «New» → «Class». Присвойте новому классу имя (в данном примере — это first) и нажмите «Finish».

Приступим к написанию вашей первой программы. По традиции - это программа, выводящая на экран «Hello, world!».

Public class first{ public static void main(String args) { System.out.println("Hello, world!"); } }

Разберём по частям написанное нами:

  • public — это модификатор доступа, определяющий, из какой части программы может использоваться наш класс. В вашем примере public - это весь код;
  • class — ключевое слово, показывающее, что вы объявляете класс, а не что-либо иное;
  • first — имя вашего класса. Круглые скобки определяют начало и конец кода класса;
  • public static void main(String args) — объявление публичного статического метода (то есть который можно вызвать, не создавая объект класса). Метод в примере ничего не возвращает и принимает в качестве аргументов массив строк. Единственная команда в этом методе выводит в консоль сообщение «Hello, world!». Заметьте, вместо println можно написать print , разница лишь в том, что в случае с println дополнительно выведется символ переноса строки.

Хорошо, вы написали вашу первую программу. Теперь её надо запустить. Для этого просто нажмите белую стрелочку в зеленом кружке на верхней панели (при наведении курсора на неё должно высветиться «Run»). После нажатия внизу откроется консоль, в которой вы увидите сообщение «Hello, world»! Поздравляю, вы написали вашу первую программу на Java и готовы погрузиться в увлекательный мир этого языка!

Очень часто игроки одной из самых популярных песочниц Minecraft, сталкиваются с проблемами при запуске игры. Среди таких сбоев можно выделить ошибку “Прекращена работа программы Java(TM) Platform SE binary”, которая появляется непосредственно во время запуска игрового процесса через меню. Мы постараемся дать дельные советы, которые подскажут, что делать если не работает Java платформа в Майнкрафт.

Отчего возникает ошибка

Ошибка Java(TM) Platform SE binary появляется в Майнкрафт сразу после запуска игры через игровой лаунчер, при длительном подключении к серверам, либо произвольно, во время игры. Сбой может появляться постоянно, не давая даже запустить игру, либо временами. Причин проблемы может быть очень много: совместимость разрядности Java с Windows, битые драйвера, конфликт видеокарт, отсутствие актуальным обновлений, использование левых модов. Также сюда следует отнести сбитые графические настройки в Майнкрафт.

Ошибка “Прекращена работа программы Java(TM) Platform SE binary”

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

Как исправить ошибку Java в Майнкрафт

Стоит отметить, что проблема с уведомлением о сбое “Прекращена работа программы Java(TM) Platform SE binary”, появляется не только в Minecraft, поэтому мы собрали как советы по решению сбоя в игре, так и в других приложениях.


Видеокарта

Чаще всего проблема возникает из-за графического движка в игре. Поэтому вот несколько советов по настройкам:

Дополнительные советы по настройкам видеокарты:

  • Обновите драйвера на вашем ПК. Конкретно вам нужны драйвера видеокарты. Это можно сделать через системную опцию, либо применить тот же Driver Pack Solution.
  • Ошибка возможна из-за конфликта со встроенной видеокартой. Для этого её следует отключить и перезагрузить ПК. Вот пояснения на видео.

  1. После того, как вы нажимаете “Закрыть программу”, появляется MineCraft Launcher. Внизу этого лаунчера есть кнопка New Profile (Новый профиль) – кликайте по нему. Пропишите новое имя (Profile Name), а ниже, в Java Settings, проверьте путь к исполняемому файлу. Если в конце указано javaw.exe, тогда удалите букву W. Сохраните профиль и пробуйте запуститься.
  2. Переустановите моды и дополнительные расширения к игре. Часто они являются источником проблемы.
  3. Отключите экраны антивируса на время загрузки и пробуйте запуститься.
  4. Переустановите Майнкрафт.

Заключение

Данные советы должны помочь в решении ошибки с Java не только в игре Майнкрафт, но и в других конфликтах. Если вы знаете что еще можно делать для исправления – пишите в комментариях.