Привет. Интересно будет увидеть видео про Hibernate либо Java EE(база про веб и сервлеты,типо что под капотом Spring) или же Spring Security,Data и тд :)
Хотел выразить респект, круто делаешь и очень полезные видосы) Как идея для видоса можно было бы сделать про изоляции транзакций и какие проблемы решает, прям даже запустить две консоли со своими транзакциями и показать) было бы интересно посмотреть
9:30 уточнение: volatile на переменной х гарантирует что поток А действительно прочтёт значение, записанное ранее в х потоком Б - только в условиях отсутствия гонки (race сondition). Т.е. если дейстительно запись проихошла до чтения, например если потоки синхронизованы таким образом. Если же гонка присутствует, то спецификация не запрещает jvm дать потоку А прочитать х до записи потоком Б. Детали и объяснения (очень мозголомные) можно посмотреть в докладах у Шипилёва по JMM (гуглить Java Memory Model Pragmatics)
2:26 Процесс А может использовать память Процесса Б, операционная система может такое разрешить Иначе бы не было, вирусов, читов и ПО для профилирования/инструментирования
Вроде как volatile отключает оптимизацию которая на этапе трансляции может заменить переменную вычисленным значением указывая что содержимое переменной может быть изменено вне потока. Отсюда иногда и без volatile работает а иногда и с ним не работает
8:36, попался вопрос на собесе, что выведет код и код вида - 2 статических синхронизированных метода, один вызывает второй, и как понимаю всё отработает нормально из-за реентрантности
да нет разницы между ними вообще никакой.. там куча промежуточных состояний от первого до второго Определяется всё только набором флагов при clone() И такие люди нас пытаются чему-то учить а вообще конечно потоки (как автор их понимает) лучше не использоватьь в 99 проценьах процессы таки удобнее и
Признак того, что контора шляпа - спрашивают как ты решаешь дедлоки. Если ещё и ответ что ни разу в такую ситуацию не попадал и не имеешь представления как в это можно вляпаться, не принимают - знай, там такое постоянно происходит, все сделано просто на отвали и им нужен человек, который будет безропотно разбираться их кривожопость.
г-н Сорокин, вы настолько "понятно" объясняете, что я смог вас понять только потому, что сам знаю это немного глубже Хоть для приличия книжку почитайте какую-нибудь по многопоточке. Много нового для себя откроете
Привет. Интересно будет увидеть видео про Hibernate либо Java EE(база про веб и сервлеты,типо что под капотом Spring) или же Spring Security,Data и тд :)
Хотел выразить респект, круто делаешь и очень полезные видосы)
Как идея для видоса можно было бы сделать про изоляции транзакций и какие проблемы решает, прям даже запустить две консоли со своими транзакциями и показать) было бы интересно посмотреть
Кайфанул. Спасибо Павел ❤😊
9:30 уточнение: volatile на переменной х гарантирует что поток А действительно прочтёт значение, записанное ранее в х потоком Б - только в условиях отсутствия гонки (race сondition). Т.е. если дейстительно запись проихошла до чтения, например если потоки синхронизованы таким образом.
Если же гонка присутствует, то спецификация не запрещает jvm дать потоку А прочитать х до записи потоком Б.
Детали и объяснения (очень мозголомные) можно посмотреть в докладах у Шипилёва по JMM (гуглить Java Memory Model Pragmatics)
Нет, даже если присутствует гонка, если поток А записал значение в переменную, то поток Б, когда будет читать, увидит именно последнее значение.
2:26
Процесс А может использовать память Процесса Б, операционная система может такое разрешить
Иначе бы не было, вирусов, читов и ПО для профилирования/инструментирования
Вроде как volatile отключает оптимизацию которая на этапе трансляции может заменить переменную вычисленным значением указывая что содержимое переменной может быть изменено вне потока.
Отсюда иногда и без volatile работает а иногда и с ним не работает
С volatile просто есть гарантия happens-before, как внутри реализовано это уже детали и может даже быть по-разному в разных реализациях
кайф, вот бы каждые 3 дня видосы и дальше выходили)
Оперативно работаешь Павел, вроде только в прошлом видео просил про многопоточку)))
Ахахахах, просто я два видео делал подряд)) Ты угадал следующую тему
А где полное видио чет я не нашел
thank you!
8:36, попался вопрос на собесе, что выведет код и код вида - 2 статических синхронизированных метода, один вызывает второй, и как понимаю всё отработает нормально из-за реентрантности
да нет разницы между ними вообще никакой..
там куча промежуточных состояний от первого до второго
Определяется всё только набором флагов при
clone() И такие люди нас пытаются чему-то учить
а вообще конечно потоки (как автор их понимает) лучше не использоватьь в 99 проценьах процессы таки удобнее и
Признак того, что контора шляпа - спрашивают как ты решаешь дедлоки. Если ещё и ответ что ни разу в такую ситуацию не попадал и не имеешь представления как в это можно вляпаться, не принимают - знай, там такое постоянно происходит, все сделано просто на отвали и им нужен человек, который будет безропотно разбираться их кривожопость.
Павел, вас зовут Павел?
Я ваще хорошо от такого засыпаю
Факт
г-н Сорокин, вы настолько "понятно" объясняете, что я смог вас понять только потому, что сам знаю это немного глубже
Хоть для приличия книжку почитайте какую-нибудь по многопоточке. Много нового для себя откроете
В каком моменте конкретно было непонятно объяснено и как должно было быть?
а в Go просто каналы бр-р-р-р