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

182 записи с тегом "Основы Java"

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

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

1. Обзор

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

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

2. Уязвимости десериализации

Java широко использует десериализацию для создания объектов из входных источников.

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

1. Введение

В этом руководстве мы кратко рассмотрим интерфейс Java java.io.Externalizable . Основная цель этого интерфейса — упростить пользовательскую сериализацию и десериализацию.

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

После этого мы собираемся обсудить ключевые отличия от интерфейса java.io.Serializable .

2. Внешний интерфейс

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

1. Обзор

Атрибут serialVersionUID — это идентификатор, который используется для сериализации/десериализации объекта класса Serializable .

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

2. UID серийной версии

Проще говоря, мы используем атрибут serialVersionUID , чтобы запомнить версии класса Serializable , чтобы убедиться, что загруженный класс и сериализованный объект совместимы.

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

1. Обзор

В этом уроке мы продемонстрируем классы BigDecimal и BigInteger .

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

2. Большой десятичный

BigDecimal представляет неизменяемое десятичное число произвольной точности со знаком . Он состоит из двух частей:

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

1. Введение

Сравнения в Java довольно просты, пока это не так.

При работе с пользовательскими типами или при попытке сравнить объекты, которые нельзя сравнивать напрямую, нам необходимо использовать стратегию сравнения. Мы можем создать его, просто используя интерфейсы Comparator или Comparable .

2. Настройка примера

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

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

1. Обзор

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

Во-первых, мы объясним, что такое цепочка конструкторов . Затем мы увидим, как объединить их в цепочку в одном классе и использовать конструкторы из родительского класса. И последнее, но не менее важное: мы проанализируем преимущества и недостатки этого подхода.

2. Определение цепочки конструкторов с примерами

Цепочка конструкторов — это процесс вызова последовательности конструкторов . Мы можем сделать это двумя способами:

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

1. Обзор

В выпуске Java SE 17 в качестве функции предварительного просмотра представлено сопоставление с образцом для выражений и операторов switch ( JEP 406 ). Сопоставление с образцом дает нам больше гибкости при определении условий для случаев переключения .

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

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

2. Заявление о переключении

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

1. Обзор

Библиотека Apache Commons Lang 3 обеспечивает поддержку манипулирования основными классами API Java. Эта поддержка включает методы для обработки строк, чисел, дат, параллелизма, отражения объектов и многого другого.

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

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

Чтобы использовать библиотеку Commons Lang 3, просто извлеките ее из центрального репозитория Maven, используя следующую зависимость:

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

1. Введение

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

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

2. Преобразование с помощью Core Java

Начнем с основной библиотеки.

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

1. Обзор

В этом кратком руководстве мы сосредоточимся на функциональности подстрок строк в Java.

В основном мы будем использовать методы из класса String и несколько из класса StringUtils Apache Commons .

Во всех следующих примерах мы будем использовать эту простую строку:

String text = "Julia Evans was born on 25-09-1984. "
+ "She is currently living in the USA (United States of America).";

2. Основы подстроки