Многопоточность — это когда программа выполняет несколько задач “параллельно” (ну или почти параллельно). Вместо того чтобы делать всё по очереди, как в однопоточном коде, мы запускаем несколько "потоков выполнения" — как будто раздаём задачи разным работникам.
Потоки выполняются в случайном порядке, как коты, которым дали вкусняшку. Результат? Гонки данных,
NullPointerException в самый неожиданный момент и прочие "сюрпризы". Представьте: один поток схватил ресурс A и тянется к B, а другой уже держит B и хочет A. Они так и будут вечно стоять, упершись лбами, как два кота в дверном проеме. Никто не хочет уступать — классический пат!
Ошибки могут проявляться раз в 1000 запусков. Попробуй поймать баг, который возникает только у заказчика в полночь на пятницу 13-го.
Перестановка инструкций, кэширование переменных — иногда кажется, что Java сама не знает, что делает.
Вывод
Многопоточность — это мощно, но опасно. Если не разобраться как следует, можно наломать дров.
https://vk.com/club_javalab
#Java #Многопоточность #Программирование #Юмор #Deadlock #ГонкаДанных #JVM #Кодинг #Разработка #IT #Программисты #Технологии #Код #Багфиксинг #Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥3
Знаете, как проверяют, что приложение в телефоне работает без сбоев? 📱
Я сходил на встречу таких специалистов — тестировщиков . Они ищут баги🐞 , чтобы у нас всё «летало» ✈️ .
1. Про рекламу в играх и приложениях🎮
Оказывается, нужно проверить миллион мелочей: чтобы объявление не выскакивало в самый ответственный момент (например, при победе🏆 ), чтобы кнопка «закрыть» была заметной 👆 , и чтобы после просмотра вас действительно награждали . Целая наука!
2. Про скорость проверок
Представьте: программисты каждый день вносят изменения в приложение. Чтобы всё не развалилось, его постоянно тестируют. И делают это не только люди, но и специальные программы-роботы🤖 . Их нужно настроить так, чтобы они работали быстро и без ошибок. Как спортивная команда — нужна слаженность .
3. Про «ферму телефонов»📱
Это выглядит футуристично: много разных смартфонов, подключённых к компьютеру . На них одновременно запускают новую версию приложения и смотрят, как оно себя ведёт на каждом. Как будто стресс-тест для гаджетов!
4. Про чек-листы✅
Даже у роботов-тестировщиков есть подробный план действий — что и в каком порядке проверять. Его сначала пишут обычным языком, а потом превращают в код. Как рецепт с пошаговыми инструкциями✏️ ➡️ 👨💻 .
Зачем я об этом пишу?
Потому что за всем этим — и играми, и соцсетями, и банковскими приложениями — стоят не только дизайнеры и программисты, но и тестировщики . А ещё потому, что основа большинства таких «роботов-у помощников» — программирование. Та самая Java, которую мы изучаем, может управлять целой фермой телефонов или проверять, правильно ли работает кнопка в вашем любимом приложении .
Было здорово увидеть, как теория становится практикой где-то рядом . Все доклады были живыми и интересными — чувствовался настоящий азарт и любовь к своему делу!❤️🔥
vk.com/club_javalab
#Технологии #Программирование #КакЭтоУстроено #Образование #Интересное #IT #ОбъясняемПросто #Java
Я сходил на встречу таких специалистов — тестировщиков . Они ищут баги
1. Про рекламу в играх и приложениях
Оказывается, нужно проверить миллион мелочей: чтобы объявление не выскакивало в самый ответственный момент (например, при победе
2. Про скорость проверок
Представьте: программисты каждый день вносят изменения в приложение. Чтобы всё не развалилось, его постоянно тестируют. И делают это не только люди, но и специальные программы-роботы
3. Про «ферму телефонов»
Это выглядит футуристично: много разных смартфонов, подключённых к компьютеру . На них одновременно запускают новую версию приложения и смотрят, как оно себя ведёт на каждом. Как будто стресс-тест для гаджетов!
4. Про чек-листы
Даже у роботов-тестировщиков есть подробный план действий — что и в каком порядке проверять. Его сначала пишут обычным языком, а потом превращают в код. Как рецепт с пошаговыми инструкциями
Зачем я об этом пишу?
Потому что за всем этим — и играми, и соцсетями, и банковскими приложениями — стоят не только дизайнеры и программисты, но и тестировщики . А ещё потому, что основа большинства таких «роботов-у помощников» — программирование. Та самая Java, которую мы изучаем, может управлять целой фермой телефонов или проверять, правильно ли работает кнопка в вашем любимом приложении .
Было здорово увидеть, как теория становится практикой где-то рядом . Все доклады были живыми и интересными — чувствовался настоящий азарт и любовь к своему делу!
vk.com/club_javalab
#Технологии #Программирование #КакЭтоУстроено #Образование #Интересное #IT #ОбъясняемПросто #Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥8❤4✍3👍1💯1