Виртуальные потоки в Java

Поділитися
Вставка
  • Опубліковано 1 січ 2025

КОМЕНТАРІ • 75

  • @aleksandrplatonov2145
    @aleksandrplatonov2145 10 місяців тому +2

    Очень внятно и четко. До Вас читал статьи, но общий смысл за терминологией ускользал. Евгений, спасибо )

  • @AlexSmile-y2x
    @AlexSmile-y2x 10 місяців тому +5

    Круто расскажал, Жень! Надо было еще сравнение с работой на NIO селекторах привести, там тоже альтернативный подход к неблокирующей обработке

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Это уже будут не основы :)
      Спасибо за комментарий!

  • @ktotam8913
    @ktotam8913 10 місяців тому +3

    Евгений, спасибо за подсказку, когда на джуна пойду на собеседование, так же скажу в начале:
    Все сказанное мною в данном интервью является оценочным суждением 😂

  • @friedbearsburninhell2022
    @friedbearsburninhell2022 10 місяців тому +4

    Хороший контент - многим может быть актуален =)

  • @johndow1591
    @johndow1591 9 місяців тому

    Очень доступно. Спасибо!

  • @Batyrbala
    @Batyrbala 9 місяців тому

    Как всегда на высоте, сенсей❤

  • @ensolol
    @ensolol 10 місяців тому

    Евгений, благодарю! Крепко жму руку!)

  • @tiy2000
    @tiy2000 10 місяців тому +1

    Очень интересно!
    Спасибо!)

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому +1

      Спасибо за комментарий!

  • @Valerikvv80
    @Valerikvv80 10 місяців тому

    Отличный ролик. Спасибо

  • @Pablo-m8m5b
    @Pablo-m8m5b 10 місяців тому

    Большое спасибо.

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Спасибо за комментарий!

  • @LAZIO14
    @LAZIO14 10 місяців тому

    Лайк заочно. А видос гляну чуть позже) Спасибо!

  • @telpozis
    @telpozis 10 місяців тому

    Спасибо, Евгений! =) Но тут очень важно, что "контекст сохраняемый в хип" должен быть относительно не большого размера. Тут сложно сказать конкретные цифры, т.к. железо сервера + ОС + ПО + размер контекста = дают просто огромное количество вариантов :) Тема классная, надо больше практики :)

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому +1

      Спасибо за отзыв!
      Да, много факторов, цифра взята крайне условно, "с потолка".

  • @ercefwxdx
    @ercefwxdx 10 місяців тому

    Дякую за відео, дуже круто!

  • @elnar_1206
    @elnar_1206 10 місяців тому

    Спасибо за видео 🔥🔥🔥

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Спасибо за комментарий!

  • @myNextPrediction
    @myNextPrediction 10 місяців тому

    Жостко. Як завжди нічо не зрозуміло з першого разу, буду переглядати відео поки не дійде🐺

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Спасибо за комментарий :)

  • @Steklopod
    @Steklopod 8 місяців тому

    Четко 👍🏻

  • @maksimus.ssirotkin1124
    @maksimus.ssirotkin1124 10 місяців тому +2

    а может ли быть , абстракция над ядром и потоком ядра? и за счет чего получается легковесность потока? Есть ли разница подобных языковых фреймворков в Java Go or Kotlin, т/е если по простому в ходе выполнения нескольких задач, когда раньше поток на одном ядре блокировал ядро, сейчас передает другому потоку на этом ядре или другом ядре. Но возможно это видео надо еще пересмотреть.

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому +1

      Спасибо за вопрос:
      Легковесность потока достигается в Java, в основном, за счет того, что каждый виртуальный поток не обязательно привязан к потоку ядра операционной системы.
      По поводу Go и Kotlin - да, есть goroutines и coroutines, но работают несколько по-другому.

    • @C8Z0T7Q6706199120089
      @C8Z0T7Q6706199120089 Місяць тому

      А как логировать сквозной процесс если из кучи на другой воркер из хипа данные попадут?

  • @dmitryischenko831
    @dmitryischenko831 10 місяців тому

    Спасибо за видео, Жень) только нужно учитывать размер своего изображения, когда накладываешь его на презентацию, а то не везде виден текст)

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Спасибо за отзыв!
      Поправлю формат, спасибо.

  • @JohnJohn31595
    @JohnJohn31595 10 місяців тому

    it's good! Thank you!

  • @errodion
    @errodion 10 місяців тому

    Как же он хорош

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Спасибо за комментарий!

  • @ГлебВалерьевич-у6ы
    @ГлебВалерьевич-у6ы 10 місяців тому

    ай что за красавчик в кадре

  • @Cassin1797
    @Cassin1797 10 місяців тому

    Привет! Спасибо за видео! Вопрос немного не по теме, но что случилось с публичным менторингом Игоря? Планируются ли еще в будущем видео по менторингу формата advanced?

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Спасибо за отзыв!
      Игорь устроился на работу и не смог совмещать с обучением. В будущем - планируется, сейчас «обкатываю» новую программу, по которой будем работать в рамках блока «Advanced».

  • @non_holy6286
    @non_holy6286 4 місяці тому

    Здравствуйте! Подскажите, пожалуйста, вы еще работаете с менти? Как получить информацию по этой части?

    • @EugeneSuleimanov
      @EugeneSuleimanov  4 місяці тому

      @@non_holy6286 здравствуйте! Да, работаю. Телеграмм: @proselyte

  • @Alexander-mj3jk
    @Alexander-mj3jk 7 місяців тому

    для любителей использовать котлин что-то поменяется?

    • @EugeneSuleimanov
      @EugeneSuleimanov  7 місяців тому +1

      Нет, любовь к котлину не исчезнет :)

    • @Alexander-mj3jk
      @Alexander-mj3jk 7 місяців тому

      @@EugeneSuleimanov посмотрел елизарова, сравнение виртуальных потоков и котлин корутин. Виртуальные потоки - это более глобальная концепция, она жрет (на момент того видео - год назад) раза в полтора-два больше памяти, и лучше подходит если старый тормозной многопоточный код надо улучшить. Для некоторых это важно. А вот так навскидку, если делать новое что-то, то мне котлин-корутины нравятся больше. Единственное что у них плохо - в них недонаписаны некоторые примитивы синхронизации. Например нету честного-нечестного ReadWriteLock (где-то есть тикет в котором Елизаров обещал, что когда будет время и желание - сделает). Мне правда этот ReadWriteLock вообще ни разу не был нужен.

  • @ivanknyazev7878
    @ivanknyazev7878 10 місяців тому

    Оу, а что ExecutorService теперь автоклозабл реализует?

    • @EugeneSuleimanov
      @EugeneSuleimanov  9 місяців тому

      Да, в новых версиях это есть.

  • @Max-wn2gd
    @Max-wn2gd 10 місяців тому

    большое спасибо. очень интересно. А ссылка на репозиторий не рабочая(

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Большое спасибо за отзыв!
      По ссылке - поправил - уже рабочая.

  • @amalnishanaliev3142
    @amalnishanaliev3142 10 місяців тому

    На правах члена клуба "Покажи свою некомпетентность", хочу задать вопрос. Правильно я понимаю, что в java 21 garbage collector научили работать с контекстом виртуальных потоков?

    • @EugeneSuleimanov
      @EugeneSuleimanov  9 місяців тому

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

  • @michael200kg
    @michael200kg 10 місяців тому

    Если использовать stealing pool то потоки не будут простаивать, как только поток освободится он "стащит" задачу у другого потока.

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому +1

      Все верно, здесь этот момент проговаривается, мы хотим эмулировать ситуацию, когда на каждый запрос идет отдельный поток (аналог API).

  • @SeusAmibius
    @SeusAmibius 10 місяців тому

    "Пишу код" и "Говорю слова" это как я понял интерфейсы человеческие) А что тогда "> 10 лет опыта в разработке" на абстрактный класс вроде не похоже, паттерн?

  • @nurakhmetzunun5802
    @nurakhmetzunun5802 10 місяців тому

    kotlin coroutine теперь в java)

  • @favoritdmitry6786
    @favoritdmitry6786 10 місяців тому

    Для чего нужно иметь механизм планирования потоками в процессе ОС ещё и планировщик в виртуальной машине...

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      Как минимум гибкость и управление внутренними ресурсами. Для ОС JVM простая программа наравне с остальными...

    • @favoritdmitry6786
      @favoritdmitry6786 10 місяців тому

      @@EugeneSuleimanov так или иначе виртуальная машина использует механизм ОС, каждой ОС..

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому

      @@favoritdmitry6786 верно. А в чем противоречие?

  • @vladikshk
    @vladikshk 10 місяців тому

    Ссылка на репозиторий не рабочая

    • @EugeneSuleimanov
      @EugeneSuleimanov  10 місяців тому +2

      Спасибо за сигнал - исправил.

  • @MrRomanvideo
    @MrRomanvideo 3 місяці тому

    Если уж говоришь 'точка остановы', то иди дальше и говори 'противожук'. ;)

    • @EugeneSuleimanov
      @EugeneSuleimanov  3 місяці тому +1

      @@MrRomanvideo я остановлюсь на отладчике ))

    • @MrRomanvideo
      @MrRomanvideo 3 місяці тому

      @@EugeneSuleimanov а, так да 👍)

  • @МаксимЖивотовский-ц8о
    @МаксимЖивотовский-ц8о 10 місяців тому

    +