Найти в Дзене
Java core

Java core

Часто задаваемые вопросы по java core
подборка · 4 материала
1 год назад
Зачем нужны атомики, если есть volatile в Java?
В мире многопоточного программирования в Java существует несколько механизмов для обеспечения безопасности и согласованности данных при работе с несколькими потоками. Один из таких механизмов - это ключевое слово volatile, которое обозначает, что значение переменной может быть изменено несколькими потоками и что изменения должны быть видны всем потокам немедленно. Однако, помимо volatile, в Java также существует понятие атомиков, представленное классами из пакета java.util.concurrent.atomic. В этой...
184 читали · 1 год назад
Что такое Happens-before?
В Java, "happens-before" (происходит-перед) является понятием согласованности памяти (memory consistency), которое определяет порядок выполнения операций в многопоточной среде. Это означает, что если операция A " происходит-перед " операцией B, то любые изменения, сделанные операцией A, будут видны операции B, когда она произойдет. " Happens-before " предоставляет гарантии относительно порядка выполнения операций в многопоточной среде. Есть несколько способов обеспечения happens-before: - Locks...
1 год назад
Что такое ForkJoinPool и как его использовать
ForkJoinPool в Java - это часть пакета java.util.concurrent, предназначенная для реализации параллельного выполнения задач, основанных на разделении и объединении (fork-join). Он представляет собой специализированный пул потоков, который может эффективно обрабатывать задачи, которые разбиваются на более мелкие подзадачи. Как работает ForkJoinPool: ForkJoinPool использует стратегию работы под названием "work-stealing" (поиск работы). Потоки, которые выполнили свои текущие задачи, могут «украсть» задачи из очереди других потоков, которые еще имеют задачи для выполнения...
1 год назад
Параллельные стримы в java
Параллельные стримы в java позволяет выполнять операции над элементами последовательности параллельно, то есть в несколько потоков. Это может ускорить выполнение операций в ситуациях, когда операции можно разбить на независимые части и обработать их параллельно. Параллельные стримы подходят для данных, операции над которыми не зависят друг от друга и могут быть выполнены независимо. Также параллельность стоит использовать на большом количестве элементов, так как обрабатываемые элементы необходимо поделить между потоками, а затем собрать воедино результат каждого выполненного задания...