Перейти к основному содержимому

27 записей с тегом "Java 9"

Посмотреть все теги

· 7 мин. чтения

1. Введение

Java 9 привнесла ряд новых полезных функций для разработчиков.

Одним из них является API-интерфейс java.lang.invoke.VarHandle , представляющий дескрипторы переменных, который мы собираемся изучить в этой статье.

2. Что такое дескрипторы переменных?

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

· 6 мин. чтения

1. Введение

Следуя Руководству по модульности Java 9 , в этой статье мы собираемся изучить API java.lang.Module , который был представлен вместе с системой модулей платформы Java.

Этот API предоставляет способ программного доступа к модулю, получения конкретной информации из модуля и, как правило, работы с ним и его дескриптором модуля . ``

2. Чтение информации о модуле

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

· 5 мин. чтения

1. Обзор

В этом руководстве мы узнаем о новом параметре командной строки Java 9 –release. Компилятор Java, работающий с параметром –release N , автоматически генерирует файлы классов, совместимые с версией Java N. Мы обсудим, как этот параметр связан с существующими параметрами командной строки компилятора -source и -target.

2. Необходимость — вариант выпуска

Чтобы понять необходимость опции — Release , давайте рассмотрим сценарий, в котором нам нужно скомпилировать наш код с помощью Java 8 и мы хотим, чтобы скомпилированные классы были совместимы с Java 7.

До Java 9 этого можно было добиться с помощью параметров — source и — target , где

· 4 мин. чтения

1. Обзор

API процесса в Java был довольно примитивным до Java 5, единственным способом создать новый процесс было использование API Runtime.getRuntime().exec() . Затем в Java 5 был представлен API-интерфейс ProcessBuilder , который поддерживал более чистый способ создания новых процессов.

В Java 9 добавлен новый способ получения информации о текущих и любых порожденных процессах.

В этой статье мы рассмотрим оба этих улучшения.

2. Текущая информация о процессе Java

· 6 мин. чтения

1. Обзор

В этой статье мы рассмотрим реактивные потоки Java 9. Проще говоря, мы сможем использовать класс Flow , который содержит основные строительные блоки для построения логики обработки реактивного потока.

Reactive Streams — это стандарт для асинхронной обработки потоков с неблокирующим обратным давлением. Эта спецификация определена в Reactive Manifesto , и существуют различные ее реализации, например, RxJava или Akka-Streams.

2. Обзор реактивного API

Чтобы построить Flow , мы можем использовать три основные абстракции и объединить их в логику асинхронной обработки.

· 2 мин. чтения

1. Обзор

Начиная с Java 9 к интерфейсам в Java можно добавлять приватные методы . В этом кратком руководстве давайте обсудим, как мы можем определить эти методы и их преимущества.

2. Определение частных методов в интерфейсах

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

Во-первых, давайте посмотрим, как мы можем использовать частные методы из методов интерфейса по умолчанию:

· 6 мин. чтения

1. Обзор

В Java 9 появился долгожданный синтаксический сахар для создания небольших неизменяемых экземпляров Collection с использованием лаконичного однострочного кода. Согласно JEP 269 , в JDK 9 будут включены новые удобные фабричные методы.

В этой статье мы рассмотрим его использование вместе с деталями реализации.

2. История и мотивация

Создание небольшой неизменяемой коллекции в Java традиционным способом очень многословно.

· 4 мин. чтения

1. Обзор

В этой статье мы рассмотрим дополнения Java 9 к необязательному API.

Помимо модульности, в Java 9 также добавлены три очень полезных метода для класса Optional .

2. Метод or ()

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

· 3 мин. чтения

1. Обзор

В Java 8 были добавлены коллекторы , которые помогали накапливать входные элементы в изменяемые контейнеры, такие как Map , List и Set .

В этой статье мы рассмотрим два новых сборщика, добавленных в Java 9: Collectors.filtering и Collectors.flatMapping , которые используются в сочетании с Collectors.grouping , предоставляя интеллектуальные коллекции элементов.

2. Фильтрующий коллектор

Collectors.filtering похож на Stream filter() ; он используется для фильтрации элементов ввода, но используется для разных сценариев. Фильтр Stream используется в цепочке потоков, тогда как фильтрация это Collector , который был разработан для использования вместе с groupingBy . ``

· 7 мин. чтения

1. Обзор

Java 9 поставляется с богатым набором функций. Хотя новых языковых концепций нет, новые API и диагностические команды определенно будут интересны разработчикам.

В этом обзоре мы кратко рассмотрим некоторые новые функции; полный список новых функций доступен здесь .

2. Модульная система — Проект Jigsaw