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

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

1. Обзор

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

2. Полиморфизм на основе имен

Давайте представим, что у нас есть структура классов, подобная той, что описана на следующем рисунке.

./2f5ebed196eb7211b3d601451ca93208.png

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

1. Обзор

В этом руководстве мы рассмотрим различия между интерфейсами JDBC Statement и PreparedStatement . Мы не будем рассматривать CallableStatement — интерфейс API JDBC , который используется для выполнения хранимых процедур.

2. API-интерфейс JDBC

Оба оператора и PreparedStatement могут использоваться для выполнения запросов SQL. Эти интерфейсы очень похожи. Однако они существенно отличаются друг от друга по характеристикам и производительности:

  • Оператор используется для выполнения строковых SQL- запросов.
  • PreparedStatement используется для выполнения параметризованных SQL-запросов.

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

1. Обзор

При использовании Maven мы сохраняем большую часть конфигурации для конкретного проекта в файле pom.xml .

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

В этом руководстве мы узнаем, как использовать файл settings.xml . Мы рассмотрим прокси, зеркалирование и профили. Мы также обсудим, как определить текущие настройки, применимые к нашему проекту.

2. Конфигурации

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

1. Обзор

OpenSSL — это инструмент командной строки с открытым исходным кодом, который позволяет пользователям выполнять различные задачи, связанные с SSL.

В этом руководстве мы узнаем , как создать самозаверяющий сертификат с помощью OpenSSL .

2. Создание закрытого ключа

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

1. Обзор

При использовании формата JSON Spring Boot будет использовать экземпляр ObjectMapper для сериализации ответов и десериализации запросов.

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

Чтобы узнать больше о Джексоне, обязательно ознакомьтесь с нашим руководством по Джексону .

2. Конфигурация по умолчанию

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

1. Обзор

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

В этом руководстве мы рассмотрим, как Spring Data JPA использует эту идею в форме соглашения об именах методов.

2. Структура производных методов запросов в Spring

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

1. Введение

Несмотря на то, что SQL Injection является одной из самых известных уязвимостей, он по- прежнему занимает первое место в печально известном списке OWASP Top 10 — теперь это часть более общего класса Injection .

В этом руководстве мы рассмотрим распространенные ошибки кодирования в Java, которые приводят к уязвимости приложения, и способы их предотвращения с помощью API, доступных в стандартной библиотеке времени выполнения JVM. Мы также расскажем, какую защиту мы можем получить с помощью ORM, таких как JPA, Hibernate и других, и о каких слепых зонах нам все еще придется беспокоиться.

2. Как приложения становятся уязвимыми для SQL-инъекций?

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

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

1. Весна и Ява

>> JEP 428: структурированный параллелизм (инкубатор) [ openjdk.java.net ]

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

>> JEP 405: шаблоны записи (предварительная версия) [ openjdk.java.net ]

Встречайте шаблоны разрушения для сопоставления шаблонов записей — классный способ извлечения информации из записей при сопоставлении шаблонов.

>> Отладка сбоя JVM для LinkedIn — часть 2 [ devblogs.microsoft.com ]

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

1. Обзор

Когда мы используем динамический прокси , JDK динамически генерирует класс $Proxy . Обычно полное имя этого класса $Proxy чем-то похоже на com.sun.proxy.$Proxy0 . Как сказано в документации по Java , «$Proxy» — это зарезервированный префикс имени для прокси-классов.

В этом уроке мы собираемся изучить этот класс $Proxy .

2. Класс $ Proxy

Прежде чем начать, давайте проведем различие между классом java.lang.reflect.Proxy и классом $Proxy . java.lang.reflect.Proxy — это встроенный класс JDK . И, напротив, класс $Proxy динамически генерируется во время выполнения . С точки зрения иерархии классов класс $Proxy наследует класс java.lang.reflect.Proxy .

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

1. Обзор

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

2. Стратегии развертывания

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

Стратегия развертывания описывает процесс выполнения этих обновлений.