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

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

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

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

1. Введение

Project Jigsaw — это зонтичный проект с новыми функциями, нацеленными на два аспекта:

  • введение модульной системы в язык Java
  • и его реализация в исходном коде JDK и среде выполнения Java.

В этой статье мы познакомим вас с проектом Jigsaw и его функциями и, наконец, завершим его простым модульным приложением.

2. Модульность

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

1. Обзор

До Java 9 API-интерфейс Java Reflection обладал суперсилой: он мог без ограничений получать доступ к закрытым членам класса. После Java 9 модульная система хочет разумно ограничить API Reflection.

В этом руководстве мы рассмотрим взаимосвязь между системой модулей и отражением.

2. Модульная система и отражение

Несмотря на то, что отражение и модульная система появляются в истории Java в разное время, они должны работать вместе, чтобы создать надежную платформу.

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

1. Обзор

Domain-Driven Design (DDD) — это набор принципов и инструментов, которые помогают нам разрабатывать эффективную архитектуру программного обеспечения для повышения ценности бизнеса . Ограниченный контекст — один из центральных и важных шаблонов для спасения архитектуры от большого кома грязи путем разделения всего домена приложения на несколько семантически согласованных частей.

В то же время с помощью системы модулей Java 9 мы можем создавать сильно инкапсулированные модули.

В этом руководстве мы создадим простое приложение магазина и увидим, как использовать модули Java 9, определяя явные границы для ограниченных контекстов.

2. Контексты, ограниченные DDD

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

1. Обзор

В этом руководстве мы рассмотрим стандартизацию клиентского API HTTP в Java 11, которая реализует HTTP/2 и веб-сокеты.

Он призван заменить устаревший класс HttpUrlConnection , который присутствовал в JDK с самых первых лет существования Java.

До недавнего времени Java предоставляла только HttpURLConnection API, который является низкоуровневым и не известен своей многофункциональностью ** и ** удобством для пользователя.

Поэтому обычно использовались некоторые широко используемые сторонние библиотеки, такие как Apache HttpClient , Jetty и Spring’s RestTemplate .

2. Фон

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

1. Обзор

Раньше платформа Java имела монолитную архитектуру, объединяющую все пакеты в единое целое.

В Java 9 это было упрощено с введением системы Java Platform Module System (JPMS) или модулей для краткости. Связанные пакеты были сгруппированы в модули, а модули заменили пакеты и стали основной единицей повторного использования .

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

2. Простой пример

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

1. Обзор

Система модулей платформы Java (JPMS) обеспечивает более надежную инкапсуляцию, большую надежность и лучшее разделение задач.

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

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

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

2. Родительский модуль

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

1. Введение

API Java Flow был представлен в Java 9 как реализация спецификации Reactive Stream.

В этом руководстве мы сначала исследуем реактивные потоки. Затем мы узнаем о его связи с RxJava и Flow API.

2. Что такое реактивные потоки?

Реактивный манифест представил Reactive Streams, чтобы указать стандарт для асинхронной обработки потоков с неблокирующим противодавлением.

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

1. Обзор

Java 9 представляет новый уровень абстракции над пакетами, официально известный как система модулей платформы Java (JPMS), или для краткости «модули».

В этом уроке мы рассмотрим новую систему и обсудим ее различные аспекты.

Мы также создадим простой проект, чтобы продемонстрировать все концепции, которые мы будем изучать в этом руководстве.

2. Что такое модуль?

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

1. Обзор

В этом кратком обзоре мы сосредоточимся на новых интересных улучшениях Stream API, появившихся в Java 9.

2. Стрим Takewhile/Dropwhile

Обсуждения этих методов неоднократно появлялись на StackOverflow (самый популярный — этот ).

Представьте, что мы хотим сгенерировать поток String , добавляя один символ к значению предыдущего потока , пока длина текущего значения в этом потоке не станет меньше 10 .

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

1. Введение

В этой быстрой статье мы рассмотрим StackWalking API Java 9 .

Новая функциональность обеспечивает доступ к потоку StackFrame , что позволяет нам легко просматривать стек как напрямую, так и с пользой использовать мощный Stream API в Java 8 .

2. Преимущества StackWalker

В Java 8 Throwable::getStackTrace и Thread::getStackTrace возвращают массив StackTraceElement s. Без большого количества ручного кода невозможно было отбросить ненужные кадры и оставить только те, которые нас интересуют.