Не видел ничего толкового в ютубе по этому поводу, если делать более менее нормальное приложение, а не тестовые задачи, где synchronyzed и т.п. Было бы круто показать, как применять современные решения на практике. Был бы благодарен, если показали и рассказали, как надо) @@shurik_codes
@@shurik_codes В каком потоке выполняется обработка rest-запросов, по умолчанию. Как данные между обработчиками запросов шарятся и как правильно это делать. Какие подводные камни. Про ThreadLocal, как часто его используют, для чего или может это что-то вроде goto и за это сразу в бан? :)
В Котлине, корутины не дружат с java-примитивами (мониторы, локи и т.п.) синхронизации. Т.е. нельзя из корутины, вызывать жавовые локи и т.п., можно словить дедлок. У корутин свои способы синхронизации. А у виртуальных потоков, если я все правильно понял, нет проблем с этим. Это имхо огромный профит, виртуальных потоков. Т.е. для разработчиков, все прозрачно, все правила те же, что и для старых добрых ОС-потоков, в отличии от котлиновых корутин. Плюс в корутинах дебильная обработка исключений в их структурированной конкаренси.
Так там в добавок приходится еще и "красить" методы, указывая компилю, что вот этот вот код он async, мол не ошибись. В jdk21 можно просто писать код, компилятор сам со всем разберется, не зря всю jdk перелопатили.
Шурик, почему во многих онлайн курсах не используют самую новую jdk? обычно там используют java 11, только недавно одна из онлайн школ в своей лендинг странице указала что теперь у них на курсе java 17. Почему бы сразу не забабахать 21ую версию? Что вообще случится если я открою проект написанный а java 8 или 11, а на моем пк будет только java21???
Ну, откуда же мне знать, не я же курсы разрабатываю) Но предположу, что адаптация курсов новые версии JDK стоит денег) Если ты откроешь проект под JDK 1.8 в JDK 21, то в худшем случае будет ругань на использование _ в качестве названия переменных и прочих элементов кода. Ну и на использование исключённых пакетов javax из JDK. А так в целом всё должно работать.
@@shurik_codes я просто хотел получше узнать об этом, как как я обучаюсь используя jdk11, но может стоит сразу юзать java21? в связи с тем, что на работе проекты будут на старых версиях java, возможно тем кто учился на java21 будет некомфортно работать.
Jakarta - это набор спецификаций, так что напрямую Spring и Jakarta - не конкуренты. Фреймворки, опирающиеся на Jakarta EE, такие как Quarkus, Helidon, Micronaut и подобные, конечно же являются конкурентами Spring, но серьёзно уступают ему в востребованности. Так, опрос, проведённый JetBrains в прошлом 2022 году показал, что 67% опрошенных разработчиков используют Spring Boot, Quarkus - 4%, Micronaut - 3%, а Helidon - 1%: www.jetbrains.com/lp/devecosystem-2022/java/#what-web-frameworks-do-you-use-if-any-
@@fromthegreatunknown www.oracle.com/java/technologies/javase/20-relnote-issues.html В JDK 20 сопоставление по шаблону для switch (JEP 433) было в 4 превью. Использовать можно было с флагом --enable-preview
@@shurik_codes даже лень смотреть эту макулатуру, флага не использую, стрелки работают на 17 версии в продакшне. В подтверждение моих слов коллега Тагир упоминает, что Switch Expressions со стрелками уже без break вышел в превью в 12 версии, а в 14 стал стандартом ruclips.net/video/1WaQoBiIoK4/видео.html
Благодарю, было полезно
Спасибо за видео. Продолжай , у тебя хорошо получается
Привет! А будет ли видео, как применять многопоточку в Spring boot приложении?
Да, когда руки доберутся до этого. Что-то конкретное хочется услышать по этому поводу?
Не видел ничего толкового в ютубе по этому поводу, если делать более менее нормальное приложение, а не тестовые задачи, где synchronyzed и т.п. Было бы круто показать, как применять современные решения на практике.
Был бы благодарен, если показали и рассказали, как надо) @@shurik_codes
Плюс! Ещё про реактивность мало толковой информации в русскоязычном сегменте
@@shurik_codes В каком потоке выполняется обработка rest-запросов, по умолчанию. Как данные между обработчиками запросов шарятся и как правильно это делать. Какие подводные камни. Про ThreadLocal, как часто его используют, для чего или может это что-то вроде goto и за это сразу в бан? :)
Почему-то после этого релиза захотелось перейти на Котлин
Да, ветки с null в switch в 17 java не хватало, конечно. Интересно, спасибо)
Спасибо! Понятно, интересно. Подписался )
поддержим)
Огромное спасибо за видео. Полезно и очень доступно!
Спасибро, было интересно)
Было бы здорово добавить Тайм-коды к видео !
В Котлине, корутины не дружат с java-примитивами (мониторы, локи и т.п.) синхронизации. Т.е. нельзя из корутины, вызывать жавовые локи и т.п., можно словить дедлок. У корутин свои способы синхронизации. А у виртуальных потоков, если я все правильно понял, нет проблем с этим. Это имхо огромный профит, виртуальных потоков. Т.е. для разработчиков, все прозрачно, все правила те же, что и для старых добрых ОС-потоков, в отличии от котлиновых корутин. Плюс в корутинах дебильная обработка исключений в их структурированной конкаренси.
Так там в добавок приходится еще и "красить" методы, указывая компилю, что вот этот вот код он async, мол не ошибись. В jdk21 можно просто писать код, компилятор сам со всем разберется, не зря всю jdk перелопатили.
А что за тема у Вас используется в IDEA?
New UI (версии 2023+)
Шурик, почему во многих онлайн курсах не используют самую новую jdk? обычно там используют java 11, только недавно одна из онлайн школ в своей лендинг странице указала что теперь у них на курсе java 17. Почему бы сразу не забабахать 21ую версию? Что вообще случится если я открою проект написанный а java 8 или 11, а на моем пк будет только java21???
Ну, откуда же мне знать, не я же курсы разрабатываю) Но предположу, что адаптация курсов новые версии JDK стоит денег)
Если ты откроешь проект под JDK 1.8 в JDK 21, то в худшем случае будет ругань на использование _ в качестве названия переменных и прочих элементов кода. Ну и на использование исключённых пакетов javax из JDK. А так в целом всё должно работать.
@@shurik_codes я просто хотел получше узнать об этом, как как я обучаюсь используя jdk11, но может стоит сразу юзать java21? в связи с тем, что на работе проекты будут на старых версиях java, возможно тем кто учился на java21 будет некомфортно работать.
Да сразу используй последнее, быстрее привыкаешь. Потом будешь просто терять время на доп. Адаптацию@@Razumist
Спасибо большое за видео , считаете ли что джакарта будет конкурентам спрингу?
Jakarta - это набор спецификаций, так что напрямую Spring и Jakarta - не конкуренты. Фреймворки, опирающиеся на Jakarta EE, такие как Quarkus, Helidon, Micronaut и подобные, конечно же являются конкурентами Spring, но серьёзно уступают ему в востребованности. Так, опрос, проведённый JetBrains в прошлом 2022 году показал, что 67% опрошенных разработчиков используют Spring Boot, Quarkus - 4%, Micronaut - 3%, а Helidon - 1%: www.jetbrains.com/lp/devecosystem-2022/java/#what-web-frameworks-do-you-use-if-any-
Такое чувство, что кто то конкретно зациклился на switch, да оставьте уже его в покое, реально больше нечего менять((
Паттерн матчинг приличный прикрутили бы
@@mikemerinoffа что в действующем не так?
Так вроде про switch уже в 17 было, и yield и стрелки
там оно в preview было
@@shurik_codes нет, в LTS и вовсю в проде у многих используется. Не было только возможности null в ветку пихать
@@fromthegreatunknown www.oracle.com/java/technologies/javase/20-relnote-issues.html В JDK 20 сопоставление по шаблону для switch (JEP 433) было в 4 превью. Использовать можно было с флагом --enable-preview
@@shurik_codes даже лень смотреть эту макулатуру, флага не использую, стрелки работают на 17 версии в продакшне. В подтверждение моих слов коллега Тагир упоминает, что Switch Expressions со стрелками уже без break вышел в превью в 12 версии, а в 14 стал стандартом
ruclips.net/video/1WaQoBiIoK4/видео.html
@@fromthegreatunknown ок, в JDK 14 появилась стрелочная нотация на уровне стандарта, да. А в JDK 21 подвезли сопоставление по шаблону.
Не подглядывай
Сложно