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

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

1. Обзор

В этой статье мы продемонстрируем, как создать простой сервер и его клиент, используя API канала Java 7 NIO.2.

Мы рассмотрим классы AsynchronousServerSocketChannel и AsynchronousSocketChannel , которые являются ключевыми классами, используемыми при реализации сервера и клиента соответственно.

Если вы новичок в API канала NIO.2, у нас есть вводная статья на этом сайте. Вы можете прочитать его, перейдя по этой ссылке .

Все классы, необходимые для использования API каналов NIO.2, объединены в пакет java.nio.channels :

import java.nio.channels.*;

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

1. Введение

Java выдает NumberFormatException — непроверенное исключение — когда не может преобразовать String в числовой тип .

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

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

2. Причины исключения NumberFormatException

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

1. Обзор

В этом руководстве мы рассмотрим использование метода Stream.count() . В частности, мы увидим, как мы можем комбинировать метод count() с методом filter() для подсчета совпадений с примененным предикатом .

2. Использование Stream.count()

Сам метод count() предоставляет небольшую, но очень полезную функциональность. Мы также можем превосходно комбинировать его с другими инструментами, например, с Stream.filter() .

Давайте используем тот же класс Customer , который мы определили в нашем руководстве для Stream.filter() :

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

1. Обзор

Всякий раз, когда мы имеем дело со временем и датами, нам нужна система отсчета. Стандартом для этого является UTC , но мы также видим GMT в некоторых приложениях.

Короче говоря, UTC — это стандарт, а GMT — это часовой пояс.

Вот что Википедия говорит нам о том, что использовать:

В большинстве случаев UTC считается взаимозаменяемым со средним временем по Гринвичу (GMT), но научное сообщество больше не дает точного определения GMT.

Другими словами, как только мы составим список со смещением часовых поясов в UTC, у нас будет он и для GMT.

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

1. Обзор

В этой статье мы собираемся изучить низкоуровневые операции с сетевым программированием на Java. Мы более подробно рассмотрим URL-адреса.

URL — это ссылка или адрес ресурса в сети. Проще говоря, код Java, взаимодействующий по сети, может использовать класс java.net.URL для представления адресов ресурсов.

Платформа Java поставляется со встроенной сетевой поддержкой, включенной в пакет java.net :

import java.net.*;

2. Создание URL

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

1. Введение

В этой статье мы рассмотрим, как выполнять запросы к реляционной базе данных с помощью jdbi .

Jdbi — это библиотека Java с открытым исходным кодом (лицензия Apache), которая использует лямбда-выражения и отражение для предоставления более удобного интерфейса более высокого уровня, чем JDBC , для доступа к базе данных.

Jdbi, однако, не является ORM; несмотря на то, что у него есть дополнительный модуль сопоставления объектов SQL, у него нет сеанса с прикрепленными объектами, уровня независимости базы данных и любых других наворотов типичного ORM.

2. Настройка JDBI

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

1. Обзор

В этой статье мы рассмотрим библиотеку Jetty . Jetty предоставляет веб-сервер, который может работать как встроенный контейнер и легко интегрируется с библиотекой javax.servlet .

2. Зависимости Maven

Для начала мы добавим зависимости Maven в библиотеки jetty -servlet и jetty-servlet :

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.3.v20170317</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>9.4.3.v20170317</version>
</dependency>

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

1. Обзор

В этой статье показано, как реализовать разбиение на страницы в Java Persistence API .

В нем объясняется, как выполнить разбиение по страницам с помощью базового JQL и более безопасных API на основе критериев, обсуждаются преимущества и известные проблемы каждой реализации.

2. Разбиение на страницы с помощью JQL и API setFirstResult() , setMaxResults()

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

1. Обзор

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

2. Зависимость от Maven

Во-первых, давайте добавим зависимость Maven:

<dependency>
<groupId>org.skyscreamer</groupId>
<artifactId>jsonassert</artifactId>
<version>1.5.0</version>
</dependency>

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

1. Обзор

В библиотеку Log4j 2 добавлена поддержка лямбда-выражений Java 8, начиная с версии 2.4. Эти выражения могут использоваться интерфейсом Logger для включения отложенного ведения журнала.

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

Для получения дополнительной информации о Log4j 2 также ознакомьтесь с нашей вводной статьей .

2. Ленивая регистрация с помощью лямбда-выражений