JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Вы открыли новый уровень

    Java Multithreading
    7 level,0 lecture
    Поздравляем с достижением нового уровня
    Open
  • Циклы (break и return, continue, метки)

    Java Multithreading
    7 level,1 lecture
    — Привет, Амиго! Сегодня я тебе расскажу про некоторые удобные вещи в работе с циклами. Первая такая вещь – это ключевое слово break. Если в теле цикла написать такую инструкцию, то при ее выполнении цикл сразу завершится. Пример: Пример Результат работы цикла: for (int i=0;i<10;i++) { System.out.println(i); if (i>5) break; } 0 1 2 3 4 5 — ...
    Open
  • Задачи на break & continue;

    Java Multithreading
    7 level,2 lecture
    — Привет, Амиго!
    Open
  • DeadLock, и его причины

    Java Multithreading
    7 level,3 lecture
    — Привет, Амиго! Сегодня я тебе расскажу, что такое дедлок (Dead Lock) — смертельный захват. — Так ты же уже что-то такое рассказывала. — Ага, было дело. Но сегодня мы рассмотрим эту тему детальнее. В самом простом случае в дедлоке участвуют две нити и два объекта-мютекса. Взаимная блокировка возникает, когда: А) Каждой нити в процессе работы ...
    Open
  • Задачи по написанию своих дедлоков

    Java Multithreading
    7 level,4 lecture
    — Привет, Амиго!
    Open
  • Стратегии избегания DeadLock

    Java Multithreading
    7 level,5 lecture
    — Привет, Амиго! Хочу рассказать тебе про пару стратегий избегания дедлоков. Самая лучшая стратегия – это продуманная архитектура и набор правил, когда можно использовать блокировки (захват мютексов) и в каком порядке. Классический способ борьбы с проблемой — разработка иерархии блокировок, установление правила, что некоторые блокировки никогда не могут захватываться в состоянии, в котором уже захвачены ...
    Open
  • Задачи по исправлению дедлоков

    Java Multithreading
    7 level,6 lecture
    — Привет, Амиго!
    Open
  • Стратегия «wait-notify-notifyAll»

    Java Multithreading
    7 level,7 lecture
    — Привет, Амиго! Хочу основательно разобрать с тобой тему wait-notify. Методы wait-notify обеспечивают удобный механизм взаимодействия нитей. Также их можно использовать для построения сложных высокоуровневых механизмов взаимодействия нитей. Начну с небольшого примера. Пусть у нас есть программа для сервера, которая должна выполнять различные задания, которые пользователи добавляют через сайт. Пользователи добавляют различные задания в разное ...
    Open
  • Нюансы работы

    Java Multithreading
    7 level,8 lecture
    — Привет, Амиго! И еще пара деталей. Так сказать практических советов. Пусть у тебя есть метод, который что-то ждет и засыпает, пока условие не выполнено. Если коллекция пустая, то ждем public synchronized Runnable getJob() { if (jobs.size()==0) this.wait(); return jobs.remove(0); } В документации по Java очень старательно советуют вызвать метод wait в цикле: Если коллекция ...
    Open
  • Задачи на «wait-notify-notifyAll»

    Java Multithreading
    7 level,9 lecture
    — Привет, Амиго!
    Open
  • Другие детали синхронизации и многонитиевости

    Java Multithreading
    7 level,10 lecture
    — Привет, Амиго! Есть такая здоровенная тема, называется Java Memory Model. В принципе знать ее тебе пока не обязательно, но услышать про это – будет полезно. С целью устранить все возможные проблемы, в Java изменили механизм работы памяти. Теперь память не просто делится на локальный кэш нити и глобальную, а механизм стал еще лучше. — ...
    Open
  • Учимся гуглить. (Как получить список файлов по маске)

    Java Multithreading
    7 level,11 lecture
    — Привет, Амиго! Продолжаем наши уроки – учимся гуглить. Вот тебе несколько заданий:   Задания на поиск в интернете: 1 Чем плох оператор goto? 2 Что такое зарезервированные слова в Java? 3 Что произойдет, если вызвать wait не в блоке synchronized? 4 Что такое happens-before? 5 Назначение и методы класса BlockedQueue? 6 Как скомпилировать java-файл ...
    Open
  • 1
  • 2
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush