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

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

1. Введение

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

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

2. Использование

Начиная с Java 15 текстовые блоки доступны в качестве стандартной функции. В Java 13 и 14 нам нужно было включить ее в качестве функции предварительного просмотра .

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

1. Обзор

Apache Kafka — это распределенная и отказоустойчивая система обработки потоков.

В этом руководстве мы рассмотрим поддержку Spring для Kafka и уровень абстракции, который он обеспечивает по сравнению с собственными клиентскими API Kafka Java.

Spring Kafka предлагает простую и типичную модель программирования шаблонов Spring с KafkaTemplate и управляемыми сообщениями POJO через аннотацию @KafkaListener .

2. Установка и настройка

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

1. Обзор

В этой статье мы узнаем, как объявлять многострочные строки в Java.

Теперь, когда вышла Java 15, мы можем использовать новую встроенную функцию, называемую текстовыми блоками.

Мы также рассмотрим другие методы, если мы не можем использовать эту функцию.

2. Текстовые блоки

Мы можем использовать текстовые блоки , объявив строку с помощью «» (три двойных кавычки) :

public String textBlocks() {
    return """
        Get busy living
        or
        get busy dying.
        --Stephen King""";
}

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

1. Обзор

В этом руководстве мы рассмотрим класс DatagramChannel , который позволяет нам отправлять и получать пакеты UDP .

2. Датаграммный канал

Среди различных протоколов, поддерживаемых в Интернете, TCP и UDP являются наиболее распространенными.

В то время как TCP — это протокол, ориентированный на соединение, UDP — это протокол, ориентированный на дейтаграммы, который отличается высокой производительностью и меньшей надежностью . UDP часто используется при отправке широковещательных или групповых передач данных из-за его ненадежного характера .

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

1. Введение

Хэш-код — это числовое представление содержимого объекта.

В Java есть несколько различных методов, которые мы можем использовать для получения хэш-кода для объекта:

  • Объект.hashCode()
  • Objects.hashCode() — введено в Java 7 .
  • Objects.hash() — введено в Java 7 .

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

2. Основное использование

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

1. Обзор

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

В этом кратком руководстве давайте посмотрим, как мы можем экранировать метасимволы внутри регулярных выражений как вручную, так и с помощью метода Pattern.quote() , предоставляемого Java.

2. Без экранирования метасимволов

Давайте рассмотрим строку, содержащую список сумм в долларах:

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

1. Обзор

В этом руководстве мы рассмотрим различные способы разделения строки Java по символам новой строки. Поскольку символ новой строки различается в разных операционных системах, мы рассмотрим этот метод для Unix, Linux, Mac OS 9 и более ранних версий, macOS и ОС Windows.

2. Разделить строку по новой строке

2.1. Разделить строку по новой строке с помощью метода System#lineSeparator

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

1. Обзор

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

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

2. Флаги функций

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

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

1. Введение

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

2. Что такое часы Kubernetes?

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

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

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

1. Введение

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

2. Сокеты Java и тайм-ауты

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

В общем случае сокет представляет собой комбинацию IP-адреса и номера порта . Каждому сокету назначается определенный номер порта, который используется для идентификации службы.