Предполагает отправку имени пользователя и пароля с каждым запросом, но может быть менее безопасной без шифрования.
Подходит для простых приложений, где безопасность и шифрование не являются приоритетом, или при использовании защищенных соединений.
Использует сгенерированные токены, такие как JSON Web Tokens (JWT), которые обмениваются между клиентом и сервером, обеспечивая повышенную безопасность без необходимости отправки учетных данных с каждым запросом.
Идеально подходит для более безопасных и масштабируемых систем.
Позволяет сторонним приложениям получать ограниченный доступ к ресурсам пользователя без раскрытия учетных данных, выдавая токены доступа после аутентификации пользователя.
Подходит для ситуаций, требующих контролируемого доступа к ресурсам пользователя сторонними приложениями или сервисами.
Назначает уникальные ключи пользователям или приложениям, которые отправляются в заголовках или параметрах; несмотря на простоту, может не обладать всеми преимуществами безопасности, как методы на основе токенов или OAuth.
Удобна для простого контроля доступа в менее чувствительных средах или для предоставления доступа к определённым функциям без необходимости предоставления разрешений, привязанных к конкретному пользователю.
Please open Telegram to view this post
VIEW IN TELEGRAM
Модификаторы уровня доступа определяют, могут ли другие классы использовать определенное поле или вызывать определенный метод.
Существует 4 уровня доступа:
private
Указывает, что доступ возможен только в его собственном классе.
package-private (нет явного модификатора)
Указывает, что доступ только внутри своего собственного пакета.
protected
Указывает, что доступ возможен только внутри его собственного пакета (как в случае с package-private) и, кроме того, для подкласса его класса в другом пакете.
public
Указывает, что доступ возможен отовсюду.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ситуация, когда несколько потоков пытаются одновременно читать и записывать общие данные, что приводит к непредсказуемым результатам.
Пример: Представьте, что два человека пытаются одновременно снять деньги с одного банковского счета. Без должной координации они могут снять больше денег, чем доступно на счете.
Ситуация, когда два или более потока застревают в ожидании друг друга для освобождения ресурсов, что приводит к тупиковой ситуации.
Пример: Два человека держат предметы, которые нужны друг другу, и оба ждут, пока другой первый отдаст свой предмет.
Ошибки, возникающие из-за неправильной обработки взаимодействия потоков, часто проявляющиеся как случайные проблемы.
Пример: Если два работника пишут в один и тот же файл без координации, их работа может перемешаться.
Основная проблема заключается в том, что сигнал на прерывание лишь уведомляет поток о необходимости остановки, но сам поток должен обработать этот сигнал и завершить свою работу самостоятельно.
Пример: Если вам нужно, чтобы рабочий остановился, вы посылаете ему сигнал "стоп". Но нет гарантий, что это случится.
Ситуация, когда разные потоки имеют устаревшее или несогласованное представление о разделяемой памяти.
Пример: Если один человек обновляет общий документ, а другие видят старую версию, они могут работать с неверной информацией.
Ситуация, когда несколько потоков конкурируют за один и тот же ограниченный ресурс, что приводит к задержкам.
Пример: Если несколько работников одновременно пытаются воспользоваться одним принтером, им приходится ждать своей очереди.
Ситуация, когда потоку постоянно отказывают в доступе к ресурсам из-за приоритета других потоков.
Пример: Если одного работника постоянно обходят вниманием в пользу других, он никогда не сможет выполнить свою работу.
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring Boot and Angular
Автор: Devlin Basilan Duldulao
Год издания: 2022
#java #spring #en
Скачать книгу
Автор: Devlin Basilan Duldulao
Год издания: 2022
#java #spring #en
Скачать книгу
ArrayList — это один из самых популярных классов для работы с динамическими массивами в Java. Но чтобы использовать его по максимуму, стоит учесть несколько важных моментов:
Please open Telegram to view this post
VIEW IN TELEGRAM
Interactive Object-Oriented
Programming in Java
Автор: Vaskaran Sarcar
Год издания: 2020
#java #en
Скачать книгу
Programming in Java
Автор: Vaskaran Sarcar
Год издания: 2020
#java #en
Скачать книгу
Web Development Toolkit
for Java Developers
Автор: Dr. Nirali Dabhi
Год издания: 2023
#java #spring #en
Скачать книгу
for Java Developers
Автор: Dr. Nirali Dabhi
Год издания: 2023
#java #spring #en
Скачать книгу
97 вещей, о которых должен знать
каждый Jаvа-программист
Автор: Кевлин Хенни
Год издания: 2023
#java #ru
Скачать книгу
каждый Jаvа-программист
Автор: Кевлин Хенни
Год издания: 2023
#java #ru
Скачать книгу
Классические задачи
Computer Science
на языке Java
Автор: Дэвид Копец
Год издания: 2022
#java #ru
Скачать книгу
Computer Science
на языке Java
Автор: Дэвид Копец
Год издания: 2022
#java #ru
Скачать книгу
Гид Java-разработчика.
Проектно-ориентированный подход
Автор: Рауль-Габриэль Урма
Год издания: 2022
#java #ru
Скачать книгу
Проектно-ориентированный подход
Автор: Рауль-Габриэль Урма
Год издания: 2022
#java #ru
Скачать книгу
Java. Оптимизация программ
Автор: Эванс Бенджамин,
Джеймс Гоф, Ньюланд Крис
Год издания: 2021
#java #ru
Скачать книгу
Автор: Эванс Бенджамин,
Джеймс Гоф, Ньюланд Крис
Год издания: 2021
#java #ru
Скачать книгу
Приглашаем на открытый урок.
🗓 24 июня в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик».
О чём поговорим:
Кому будет интересно:
Начинающим Java-разработчикам, студентам и всем, кто хочет перестать бояться слов «тестирование» и «баги».
В результате вебинара вы:
Создадите свой первый тест на Java, поймёте, как тестировать методы с исключениями, и начнёте писать код, которым можно гордиться.
🔗 Ссылка на регистрацию: https://vk.cc/cMY9Vt
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Optional?
Опциональное значение Optional — это контейнер для объекта, который может содержать или не содержать значение null. Такая обёртка является удобным средством предотвращения NullPointerException, т.к. имеет некоторые функции высшего порядка, избавляющие от добавления повторяющихся if null/notNull проверок:
#вопросы_с_собеседований
Optional<String> optional = Optional.of("hello");
optional.isPresent(); // true
optional.ifPresent(s -> System.out.println(s.length())); // 5
optional.get(); // "hello"
optional.orElse("ops..."); // "hello"
#вопросы_с_собеседований