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

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

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

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

1. Обзор

Мы можем задаться вопросом, как широко признанные IDE, такие как IntelliJ IDEA и Eclipse, реализуют функции отладки . Эти инструменты в значительной степени зависят от архитектуры отладчика платформы Java (JPDA).

В этой вводной статье мы обсудим API интерфейса отладки Java (JDI), доступный в рамках JPDA.

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

2. Введение в JPDA

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

1. Обзор

В этом кратком руководстве мы рассмотрим класс FileChannel , предоставленный в библиотеке Java NIO . Мы обсудим , как читать и записывать данные с помощью FileChannel и ByteBuffer .

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

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

К преимуществам FileChannel относятся:

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

1. Обзор

Как следует из названия, FileReader — это класс Java, упрощающий чтение содержимого файла .

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

2. Основы чтения

Если мы посмотрим на код класса FileReader , то заметим, что класс содержит минимальный код для создания объекта FileReader и никаких других методов.

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

1. Обзор

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

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

Java API предоставляет нам несколько способов достижения нашей цели. Давайте посмотрим на некоторые из них.

2.1. java.lang.Math

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

1. Обзор

Наименьшее общее кратное (НОК) двух ненулевых целых чисел (a, b) — это наименьшее положительное целое число, которое идеально делится как на a , так и на b .

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

2. Вычисление LCM двух чисел с использованием простого алгоритма

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

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

1. Введение

В этом руководстве мы рассмотрим, как мы можем локализовать и форматировать сообщения на основе Locale .

Мы будем использовать как Java MessageFormat , так и стороннюю библиотеку ICU.

2. Пример использования локализации

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

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

1. Введение

Необязательный тип был введен в Java 8. Он обеспечивает ясный и явный способ передать сообщение о том, что может не быть значения, без использования null .

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

Хотя мы можем использовать его везде, где сочтем нужным, в этом руководстве мы сосредоточимся на некоторых передовых методах использования Optional в качестве возвращаемого типа.

2. Необязательно как возвращаемый тип

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

1. Введение

В этом кратком руководстве мы узнаем о java.security.SecureRandom, классе, который предоставляет криптографически стойкий генератор случайных чисел.

2. Сравнение с java.util.Random

Стандартные реализации JDK для java.util.Random используют алгоритм Linear Congruential Generator (LCG) для предоставления случайных чисел. Проблема этого алгоритма в том, что он не является криптографически стойким. Другими словами, сгенерированные значения гораздо более предсказуемы, поэтому злоумышленники могут использовать их для компрометации нашей системы.

Чтобы преодолеть эту проблему, мы должны использовать java.security.SecureRandom в любых решениях по безопасности . Он создает криптографически стойкие случайные значения с помощью криптографически стойкого генератора псевдослучайных чисел ( CSPRNG ).

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

1. Обзор

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

2. SecurityManager в действии

Это может быть сюрпризом, но настройки SecurityManager по умолчанию запрещают многие стандартные операции :

System.setSecurityManager(new SecurityManager());
new URL("http://www.google.com").openConnection().connect();

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

1. Обзор

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

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

Поэтому нецелесообразно получать осмысленное представление обо всем этом в этом руководстве. Однако постараемся набрать хотя бы осмысленный словарный запас.

2. Особенности языка