Java в деле

Установка IDE

Установив JDK, не помешает установить и IDE (Integrated Development Environment) – комплекс программных средств, применяемых разработчиками для создания программного обеспечения. Среда разработки IDE позволит вам легко писать, запускать, тестировать и отлаживать Java-код.

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

NetBeans

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

Eclipse

Среда предоставляет впечатляющий интерфейс, который удобен и интуитивно понятен. Скачивается бесплатно, имеет ряд плюсов:
— форматирование кода;
— поддержка разбиения кода на модули;
— перетаскивание (drag-and-drop);
— просмотр содержимого библиотек;
— простота применения одного и того же кода в различных проектах.

IntelliJ IDEA

Известнейшая IDE для Java, написана на Java. Комплектуется уникальными инструментами, позволяет находить ошибки, упрощает отладку кода и т. д. Многие начинающие программисты используют этот софт для создания своих первых программ на Java.

JSON

Сериализация и Десериализация

JSON — невероятно удобный и полезный синтаксис для хранения и обмена данными. Java полностью поддерживает это.

Прим. перев. Для использования JSON из примера необходимо подключить библиотеку JSON Simple.

Вы можете сериализовать данные следующим образом:

Получается следующая строка JSON:

Десериализация в Java выглядит так:

Используемый в примере файл JSON (jsonDemoFile.json):

Прим. перев. В Java проектах очень часто для работы с JSON используют библиотеки Gson от Google или Jackson. Обе библиотеки очень популярны и хорошо поддерживаются. Попробуйте и их.

Математика

Float или Double?

Программисты часто не могут выбрать необходимую точность для чисел с плавающей запятой. Float требует всего 4 байта, но имеет только 7 значащих цифр, а Double в два раза точнее (15 цифр), но в два раза прожорливее.

Фактически, большинство процессоров могут одинаково эффективно работать как с Float, так и с Double, поэтому воспользуйтесь рекомендацией Бьорна Страуструпа (автор языка С++):

Проверка на нечетность

Можно ли использовать этот код для точного определения нечетного числа?

Надеюсь, вы заметили хитрость. Если мы решим таким образом проверить отрицательное нечетное число (например, -5), остаток от деления не будет равен единице, поэтому воспользуйтесь более точным методом:

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

Запуск и тестирование первого приложения

Чтобы запустить получившийся Hello World на Java, нужно перейти в консоль. В Windows она называется командной строкой, а в Linux — терминалом. Оказавшись в консоли, нужно добраться к сохранённому ранее файлу HelloWorld.java. Например, в Windows он может оказаться по пути C:\Java\Hello. Тогда достаточно ввести в консоль команду cd C:\Java\Hello. Перейдя в папку с файлом программы, нужно сначала перевести её в байт-код. Для этого используется следующая конструкция:

javac HelloWorld.java

После этого нужно запустить получившийся класс на исполнение. Для этого тоже имеется отдельная команда:

java HelloWorld.

На экране консоли должен появиться результат работы Hello World на Java — приветствие окружающего мира.

Первая программа в Eclipse

Последнее обновление: 28.09.2020

Еще одной очень популярной средой для разработки приложений под Java является Eclipse.
IDE Eclipse первоначально была создана и развивалась компанией IBM, но впоследствии разработка была выделена в отдельный проект Eclipse Foundation.
Eclipse является бесплатной средой, которая к тому же обладает большими возможностями, позволяя создавать на Java самые разные приложения.

После нажатия на кнопку нас перенаправит собственно на страницу загрузки, где необходимо будет нажать на кнопку «Download» для загруки установочного пакета:

После загрузки установочного пакета запустим его:

По факту Eclipse — это целый набор сред для разных ситуаций и языков программирования. И программа установки предлагает нам выбрать одну из опций для инсталляции.
Поскольку мы собираемся работать с Java, то нас будут интересовать в данном случае прежде всего две опции:

  • Eclipse IDE for Java Developers

  • Eclipse IDE for Enterprise Java Developers

Первая опция предоставляет базовые возможности для работы с Java, а вторая позволяет также создавать веб-приложения и сервисы.
По сути вторая опция включает и первую опцию. Поэтому выберем Eclipse IDE for Enterprise Java Developers.

Далее надо будет указать папку для установки (или оставить выбранную папку по умолчанию), а также указать путь к JDK и нажать на кнопку Install:

После установки запустим Eclipse. Вначале будет предложено установить каталог для проектов. Оставим значение по умолчанию и нажмем на кнорку Launch:

Далее перейдем к пункту меню File -> New -> Project:

Далее нам откроется окно выбора шаблона проекта. Выберем Java Project и нажмем на кнопку Next:

Затем будет предложено установить настройки проекта. В частности, в поле Project Name необходимо задать имя проекта. Допустим, оно будет helloapp:

Также обращаю внимание на поле JRE, которое указывает на используемую JRE. Здесь можно использовать версию по умолчанию или изменить ее в
зависимости от того, какую версию JDK/JRE мы хотим использовать

Например, на скриншоте выше видно, что Eclipse по умолчанию предлагает использовать версию
JRE 14. Но в моем случае я хочу использовать установленную на моем компьютере JRE/JDK 15, поэтому я выбираю пункт , который указывает
на jdk 15.

Все остальные настройки можно оставить по умолчанию, и в конце нажмем на кнопку Finish для создания проекта. Дальше будет предложено указать название модуля:

Пока эта опция не принципиальна, поэтому нажмем на кнопку Don’t create (не создавать модуль).

Следующее диалоговое окно спросит, надо ли раскрывать новый проект:

Нажмем на кнопку Open Perspective.

После создания проект будет открыт в Eclipse. Если среда не открывает по умолчанию проект, то необходимо нажать на кнопку Restore:

По умолчанию проект будет пуст.

Все файлы с исходным кодом на Java в проекте помещаются в папку src. Нажмем на нее правой кнопкой мыши и в контекстном меню
выберем New -> Class:

Затем откроется окно настройки класса. Здесь в поле Name необходимо задать название класса. Допустим, он будет называться Program. Все остальные
настройки можно оставить по умолчанию:

После этого в проект будет добавлен файл Program.java, а в центральной части Eclipse мы сможем увидеть его код.
Изменим этот код на следующий:

public class Program {

	public static void main(String[] args) {
		System.out.println("Hello Eclipse!");
	}
}

Для запуска проекта нажмем на панели инструментов на зеленую стрелочку, либо на пункт меню Run -> Run.
И внизу среды в поле Console мы увидим результат работы программы (то есть фактически консольный вывод).

НазадВперед

Hello, World!

Добро пожаловать на курс основ программирования на языке Java.

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

Первые языки программирования были понятны машинам, которые понимают только язык единиц и нулей. Но такие языки трудны для понимания людьми.

Позже были созданы языки программирования, более понятные для людей.  Это привело к разделению труда програмистов. Прикладные программисты создают и описывают абстракции в программах. А переводом этих абстракций в машинные инструкции, понятные ЭВМ, занимаются компиляторы и энтерпретаторы — программы, написанные написанные системными программистами.  В данном курсе мы рассмативаем именно прикладное программирование.

Java — объектно-ориентированный язык программирования. В нем существуют классы (class) и объекты (object). Объекты в Java представляют собой экземпляры класса.

Например, модель android смартфона Samsung Galaxy s6 вообще — это класс, а экземпляр Galaxy s6, котрый вы закажете на Ebay и он придет к вам по почте — это конкретный объект, экземпляр класса, и вы можете делать с ним все, что хотите.

ООП — объектно-ориентированное программирование — одно из основных направлений в создании программ. Мы еще вернемся к этой теме в последующих уроках.

Как создать изображение штрих-кода на Java

  • Перевод
  • Tutorial

Штрих-коды повсеместно используются в торговле и розничной торговле для помощи в отслеживании, покупках и  инвентаризации. Они позволяют организациям вести точный учет их поставок, товаров и других предметов, которые являются ключевыми для их деятельности. Для международного и  национального использования существуют разные штрих-коды, которые используются  в определенных контекстах. Например, штрих-коды UPC и EAN выглядят одинаково по своему форматированию  и могут использоваться аналогичным образом, но UPC — это в  основном  североамериканская система кодирования;  однако, как UPC и  EAN  будут  использоваться во всем мире.  QR — коды также используется во всем мире , но  является  обычно используется для обмена  сложными наборами информации,  например, сведениями о товарах  или  ссылками на веб-сайты.  

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

Словарь: общая информация и использование в Java

Словарь (dictionary) – это структура данных, позволяющая хранить информацию в виде комбинации “ключ” – “значение” (key – value). То есть, с каким либо значением (value) мы ассоциируем ключ (это может быть: id, термин и т. д.) и эту пару заносим в словарь. Обращение к элементу словаря, удаление, поиск по словарю производится по ключу. С помощью данной структуры, например, удобно организовать телефонный справочник, где имени (key) соответствует номер телефона (value).

В Java словарь определяется следующим образом:

Java

Map<String,String> dictionary = new HashMap<String,String>();

1 Map<String,String>dictionary=newHashMap<String,String>();

Класс HashMap реализует интерфейс Map.

Добавление элемента производится с помощью метода put:

Java

dictionary.put(key, value);

1 dictionary.put(key,value);

Получение значения элемента по ключу выполняется с помощью метода get:

Java

dictionary.get(key);

1 dictionary.get(key);

Для удаления записи с определенным ключом используется remove:

Java

dictionary.remove(key);

1 dictionary.remove(key);

Метод containsKey(key) возвращает true, если в словаре содержится элемент в ключом key, в противном случае будет возвращено false.

Чтобы получить все ключевые слова, всех элементов словаря, можно вызвать keySet:

Java

dictionary.keySet();

1 dictionary.keySet();

Аналогично, для получения всех значений элементов ассоциативного массива используется метод values:

Java

dictionary.values();

1 dictionary.values();

Метод size возвращает количество записей в словаре:

Java

dictionary.size();

1 dictionary.size();

Конструкция:

Java

dictionary.toString();

1 dictionary.toString();

возвращает все пары “ключ” – “значение”, содержащиеся в данном словаре.

Заметим, что методы keySet(), values() и toString() возвращают элементы не в том порядке, в котором они были добавлены в словарь, а в произвольном.

Первая программа в IntelliJ IDEA

Последнее обновление: 28.09.2020

В прошлой теме мы рассмотрели, как создавать первую программу с последующим ее запуском в командной строке. Однако в реальности,
как правило, крупные программы разрабатываются не при помощи простого текстового редактора, а с использованием таких средств как IDE или интегрированные среды
разработки, которые упрощают и ускоряют написание кода и создание приложений. На данный момент самой популярной средой разработки для Java является
IntelliJ IDEA от компании JetBrains (по ряду опросов на момент середины 2018 ею пользовалось до 60% разработчиков на Java).
Рассмотрим, как использовать данную среду.

Конечно, Community-версия не имеет ряда многих возможностей, которые доступны в Ultimate-версии (в частности, в Community недоступны опции для
веб-приложений на Java). Но Community-версия тоже довольно функциональна и тоже позволяет делать довольно много, в том числе приложения на JavaFX и Android.

После установки запустим IntelliJ IDEA и создадим первый проект. Для этого на стартовом экране выберем New Project:

Далее откроется окно создания проекта. В левой части в качестве типа проекта выберем Java.

Кроме того, в поле Project SDK можно указать путь к Java SDK, который будет использоваться
в проекте. Как правило, это поле по умолчанию уже содержит путь к SDK, который установлен на локальном компьютере. Если это поле пусто, то его надо установить.

После этого нажмем на кнопку Next. Далее будет предложено отметить шаблон проекта. По умолчанию тут один шаблон проекта — Command Line App, который предполагает запуск приложения как
консольного.

И в конце откроется окно, где надо будет ввести название проекта и пакета, а также указать его расположение на жестком диске. Здесь можно ввести
любые данные. Ну в данном случае проект будет называться HelloApp, а базовый пакет «com.metanit».

И после этого для создания проекта нажмем на кнопку Finish. После этого среда создаст и откроет проект.

В левой части мы можем увидеть структуру проекта. Все файлы с исходным кодом помещаются в папку src.
По умолчанию она содержит каталог, который называется по имени пакета и который имеет один файл Main.java.

В центральной части программы открыт исходный код программы в виде класса Main. Изменим его следующим образом:

package com.metanit;

public class Main {

    public static void main(String[] args) {

        System.out.println("Hello Java!");
    }
}

С помощью зеленой стрелки на панели инструментов или через меню Run -> Run запустим проект.

И внизу IntelliJ IDEA отобразится окно вывода, где мы можем увидеть результат работы нашей программы.

НазадВперед

Как реализовать интеграцию с ЕСИА на Java без лишних проблем

Tutorial

Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в режиме онлайн.
Благодаря внедрению ЕСИА государственные и коммерческие организации, разработчики и владельцы онлайн-сервисов получили возможность ускорить и сделать более безопасными операции, связанные с вводом и верификацией пользовательских данных. Русфинанс Банк также решил использовать потенциал системы и при доработке сервиса по оформлению кредита онлайн (банк специализируется на автокредитовании) реализовал интеграцию с платформой.
Сделать это оказалось не так просто. Нужно было выполнить ряд требований и процедур, решить технические трудности

В данной статье мы постараемся рассказать про основные моменты и методические указания, которые важно знать тем, кто хочет самостоятельно реализовать интеграцию с ЕСИА, а также приведём фрагменты кода на языке Java, которые помогут преодолеть трудности при разработке (часть реализации опущена, но общая последовательность действий ясна).
Надеемся, наш опыт поможет Java-разработчикам (и не только) сэкономить массу времени при разработке и ознакомлении с методическими рекомендациями Минкомсвязи

Enterprise: мнимая «невидимость» Java

Такая ситуация сложилась потому, что Java остается невидимой с точки зрения пользователя. Она тихо выполняет свою работу, порой весьма сложную. Если диспетчер следит за движением самолётов и системой жизнеобеспечения аэропорта на мониторе своего компьютера, скорее всего, внутреннюю работу, всё это отслеживание позиций, регулировку, отсылку предупреждений выполняет Java. Распределенные системы для покупки билетов, банковские системы, через которые проходят миллиарды, программы для электронной коммерции? Java. Приложения, управляющие работой бизнеса или людьми в компании, — то, что скрывается за аббревиатурами CRM, ERP? Эти гигантские и сложные программы тоже очень часто написаны на Java. По сути везде, где есть распределенный средний и крупный бизнес, ищи Java.

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

Большие веб-приложения «для людей»

Пользователи часто не осознают, что за симпатичным фасадом сайта, которым они пользуются, может стоять огромное приложение, требующее сотни тысяч человеко-часов на разработку и поддержку. Очень часто сложную (или «грязную») работу выполняет Java. Большие сайты практически не бывают монолитами, использующими только один язык или технологию для бек-энда (той части сайта, которая выполняется на сервере, back-end явным образом пользователю не виден). Доля Java-кода ощутима, в частности, в следующих веб-приложениях:

Ebay — в основе архитектуры крупнейшего интернет-аукциона лежит именно Java;

социальная сеть Linkedin, та, которая для деловых контактов, преимущественно написана на Java;
Корпорация Добра, то бишь, активно использует Java в разработке таких сервисов, как Google Plus или GTalk;

. История этого приложения начиналась вовсе не с Java, а с Ruby on Rails. Это такой фреймворк, который триумфально выходит на сцену, когда необходимо создать сложное веб-приложение очень быстро. Так было и с Twitter. Однако разработчики не учли лавинообразно растущую популярность этого незамысловатого сервиса, из-за которой стала проседать производительность. Пришлось переписывать важные его части на языке, который лучше масштабируется — на Java;

. Долгое время самая популярная социальная сеть оставалась адептом языка PHP, что большая редкость для «гигантов». Этот язык, удобный для небольших сайтов, представляет собой большую проблему, если те начинают расти. На самом деле, и сегодня Facebook до сих пор остается PHP-шной вотчиной к вящей радости почитателей этого языка. Тем не менее, если присмотреться к Facebook изнутри, там можно найти ростки Java и множества других языков. Например, сайт использует HBase (это основанная на Java база данных) в качестве платформы для мессенджера. А масштабируемым сервисом для разработки служит такая интересная штука, как Apache Thrift. Этот программный конвейер с движком генерации кода для разработки служб работает, в частности, с Java.

7. Качество кода и вопросы архитектуры

7.1 Рефакторинги, качество кода, методики программирования

  1. Яков Сироткин, Никита Липский, Олег Анастасьев, Филипп Дельгядо — Рефакторинги и технический долг
  2. Антон Кекс — Как нам спасти Java? — Часть 1 — о проблемах Java, о том как можно сделать Java лучше, какие привычные подходы программирования в Java на самом деле больше вредны, чем полезны,
  3. Антон Кекс — Как нам спасти Java? — Часть 2 — о проблемах Java, о том как можно сделать Java лучше, какие привычные подходы программирования в Java на самом деле больше вредны, чем полезны,
  4. Николай Чашников — Писать код быстрее, ошибаться реже
  5. Николай Чашников — Разработка API в Java-проекте
  6. Николай Алименков — Парадигмы ООП
  7. Михаил Ершов — Разработка совместимого API
  8. Nikolay Chashnikov — Write code faster with fewer errors: is it possible? — как избегать ошибок при написании кода,

7.2 Архитектура, бизнес правила, бизнес модель и примеры приложений

  1. Антон Кекс — Архитектура интернет-банка без Enterprise
  2. Константин Кривопустов — Выбор технологий для корпоративного приложения
  3. Александр Тоболь — Платформа для видео сроком в квартал
  4. Антон Кекс — Как я создал desktop-приложение на Java, скачанное 9 миллионов раз
  5. Виктор Полищук — JBoss Drools Expert против грязи — описание системы управления бизнес правилами JBoss Drools
  6. Дмитрий Завалишин и Александр Шлянников — Java-технологии в Digital Zone — примеры реализаций приложений в Digital Zone (использование груви скриптов для гибкой настройки бизнес модели системы приложения такси)
  7. Яков Сироткин — Почему геномный ассемблер нельзя написать за выходные? — история разработки геномного ассемблера
  8. Яков Сироткин — История релизов — продолжение истории разработки геномного ассемблера
  9. Евгений Борисов — eXtreme Application Platform (XAP)
  10. Барух Садогурский — Bintray: Масштабируемый сервис в облаке с нуля
  11. Anatoliy Sokolenko — Key Problems of Microservice Architecture — что такое сервисы и микросервисы, как их реализовать на практике, чем это лучше стандартной архитектуры и какие проблемы возникают при такой архитектуре,
  12. Izzet Mustafaiev — Fault tolerance – look, it’s possible!
  13. Oleg Tsal-Tsalko — Distributed systems and scalability rules
  14. Baruch Sadogursky — Everything you wanted to know about async HTTP apps in Java — о написании асинхронного менеджера загрузок с параллельной загрузок файлов, одного файла, прерывания и паузы для программы репозиторий
  15. Maxim Ivanov — Hey, I’ve seen something like it before! — подходы к принятию архитектурных решений. Хайп (использования модных базвордов — микросервисов, nosql и т.п. ради базвордов) и его последствия для архитекторов.

7.3 Тестирование приложений

  1. Глеб Смирнов — Мутационное тестирование, или О чём молчит Code Coverage — описание почему 100% Code Coverage у Unit тестов не гарантирует правильную работу кода, что такое мутационное тестирование и как оно помогает улучшить Unit тесты, описание мутационной системы pitest (http://pitest.org/)
  2. Алексей Рагозин — Как и зачем эмулировать распределённый кластер в JVM — описание библиотеки, которая позволяет для задач Unit тестирования эмулировать распределённый кластер на одной ноде
  3. Алексей Рагозин — Сеть — это большая JVM — часть 2 лекции » Как и зачем эмулировать распределённый кластер в JVM «
  4. Mikalai Alimenkou — «TDD for database related code, how is it possible?» — описание TDD методологии
  5. Katya Kameneva — How I lost my QA job — о внедрении TDD технологий
  6. Dmytro Chyzhykov — Testing Web Apps with Spring Framework — тестирование Spring MVC приложений
  7. Андрей Солнцев — Пацан накодил — пацан протестил!

Мой конспект с Joker 2020

Вот и прошла конференция Joker 2020 для Java senior-ов. Для меня эта конференция стала особенной сразу по нескольким причинам — это первая «серьёзная» техническая конференция на которую я попал (в качестве зрителя), это моя первая онлайн-конференция, и это первая конференция, билет на которую я купил сам, а не за счёт работодателя.

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

Сразу предупреждаю, что даже так я не сумел просмотреть все трансляции, но если кому-то интересно, что же из этого получилось — добро пожаловать под кат.

Типы

Язык программирования Java имеет 8 примитивных типов. Они представлены ниже.

  • Boolean — логический тип, принимает всего два значения true и false.
  • Byte — наименьший целочисленный тип размером 1 байт. Он используются при работе с потоком данных или файлов, необработанными двоичными данными. Имеет диапазон от -128 до 127.
  • Short имеет диапазон от -32768 до 32767, используется для представления чисел. Размер переменных этого типа — 2 байта.
  • Int тоже обозначает числа, но его размер — 4 байта. Он чаще остальных используется для работы с целочисленными данными, а byte и short иногда повышаются до int.
  • Long используются для больших целых чисел. Возможные значения находятся в диапазоне от -9223372036854775808 до 9223372036854775807.
  • Float и double применяются для обозначения дробных. Их разница в том, что float удобен, когда не требуется высокая точность в дробной части числа.
  • Double выводит на экран все знаки после разделителя «.», а float — только первые.
  • String наиболее используемый примитивный тип, с помощью которого задаются строки.

Для начинающих

  • Отличная статья, в которой описано, как стоит подходить к изучению Java. После прочтения стоит заглянуть и в другие разделы сайта Skipy.ru, это уже будет полезно не только начинающим.
  • Study-Java — сайт, полностью состоящий из туториалов по Java, которые подскажут вам, в каком направлении стоит идти и какие навыки нужно вырабатывать в первую очередь.
  • Курс по основам языка Java.
  • Обширное руководство по многим темам с примерами кода.
  • Базовый курс по Java на ресурсе Stepik.
  • Более 350 вопросов с ответами для подготовки к интервью на позицию Junior Java Developer.
  • Наша подборка материалов для изучения языка Java.
  • Подборка полезных советов от Наньянского технологического университета — там есть аналогичные материалы и по другим темам.

Форумы, на которых вы можете задать возникшие вопросы:

  • JavaTalks;
  • VPF:Java;
  • Раздел Java на SQL.ru;
  • Раздел Java на CyberForum
  • Группа ru-java в ЖЖ;
  • И, конечно же, обсуждение в нашей группе. Не забывайте про него.

Java 9

О том, какие изменения появились в Java 9, читайте в нашем обзоре с примерами.

Статьи

  • Подробный гайд по Java 9;
  • Знакомство с Project Jigsaw;
  • Java 9 Stream API:  введение и материал по коллекторам;
  • Java 9 Process API;
  • Улучшения в Java Time (JSR-310);
  • Конкурентность;
  • Новое в Optional;
  • Разбираемся с Stack-Walking API;
  • Коллекции;
  • «Applying Enhancements»;
  • Variable Handles;
  • Рефлексия vs Инкапсуляция;
  • Создание multi-release JAR-файлов при помощи Maven: о формате JAR, и о формате JAR с использованием Maven;
  • Ограничения памяти и Docker;
  • Введение в JShell.

Блоги

  • Oracle (нет тега Java 9);
  • SitePoint;
  • Voxxed (выделим отличный цикл);
  • Baeldung;
  • Iteratr Learning (нет тега Java 9);
  • CodeFX;
  • Joda.

Книги и курсы

  • Курс «Java 9 Modularity: First Look»;
  • Книга «Java 9 Modularity»;
  • Книга «Mastering Java 9»;
  • Книга «Modular Programming in Java 9»;
  • Книга «Java 9 with JShell»;
  • Книга «Java 9 Module System».
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector