Habr<p>Виртуальные потоки в Java: эволюция, практика, подводные камни</p><p>Привет! Меня зовут Денис, я руковожу группой R&D в Naumen Service Management Platform. В этой статье — разбор виртуальных потоков (VT) в Java: почему исторически обычные потоки упирались в I/O, как и зачем появились виртуальные потоки, что пошло не так в Java 21, что исправили в JDK 24–25, а также когда виртуальные потоки необходимы, а когда — лучше от них отказаться.</p><p><a href="https://habr.com/ru/companies/naumen/articles/953262/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/naumen/a</span><span class="invisible">rticles/953262/</span></a></p><p><a href="https://zhub.link/tags/%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>виртуальные_потоки</span></a> <a href="https://zhub.link/tags/java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>java</span></a> <a href="https://zhub.link/tags/jdk24" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>jdk24</span></a> <a href="https://zhub.link/tags/jdk25" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>jdk25</span></a> <a href="https://zhub.link/tags/project_loom" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>project_loom</span></a> <a href="https://zhub.link/tags/jep_491" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>jep_491</span></a> <a href="https://zhub.link/tags/scoped_values" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scoped_values</span></a> <a href="https://zhub.link/tags/threadlocal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>threadlocal</span></a> <a href="https://zhub.link/tags/tomcat" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tomcat</span></a></p>