Что выведет код?
#Tasks
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Task080526 {
public static void main(String[] args) {
Logger logger1 = LoggerFactory.getLogger(Task080526.class);
Logger logger2 = LoggerFactory.getLogger("test.logger");
System.out.println(logger1.getName());
System.out.println(logger2.getName());
Logger logger3 = LoggerFactory.getLogger(Task080526.class);
System.out.println(logger1 == logger3);
}
}
#Tasks
🗿3👍1
Варианты ответа:
Anonymous Quiz
44%
Slf4jTricky test.logger true
13%
Slf4jTricky test.logger false
13%
Slf4jTricky Slf4jTricky true
31%
Slf4jTricky test.logger Ошибка компиляции
🗿2👍1
Что такое LinkedHashMap? Чем отличается от HashMap? 🤓
Ответ:
LinkedHashMap — это наследник HashMap, который дополнительно поддерживает двусвязный список всех записей в порядке их добавления (insertion order) или порядке доступа (access order).
Благодаря этому итерация по LinkedHashMap происходит в предсказуемом порядке, в отличие от HashMap (порядок не гарантирован).
LinkedHashMap немного медленнее из-за поддержки списка. При использовании access order можно создать LRU-кэш (Least Recently Used), переопределив removeEldestEntry().
#собеседование
Ответ:
Благодаря этому итерация по LinkedHashMap происходит в предсказуемом порядке, в отличие от HashMap (порядок не гарантирован).
LinkedHashMap немного медленнее из-за поддержки списка. При использовании access order можно создать LRU-кэш (Least Recently Used), переопределив removeEldestEntry().
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Всем привет 😊
Сегодня не будет обучающих постов или постов с мемами.
В этот день мы, как и все адекватные жители планеты, чтим память миллионов человек отдавших свою жизнь в борьбе с фашистской Германией.
Чтим тех, кто сегодня как и тогда, воюет за свободу и независимость нашей Родины.
На фоне современной геополитической борьбы, попыток принизить и уничтожить память о героизме народов СССР, просто непозволительно игнорировать такой день.
И пусть всегда будут несогласные люди и страны, пусть говорят те, кому личная выгода и безопасность важнее абстрактной Отчизны, но наверно, почти у каждого дома хранятся фотографии дедов с медалями, воспоминания и рассказы о том, как они победили...
С Днем Победы!⭐️
Сегодня не будет обучающих постов или постов с мемами.
В этот день мы, как и все адекватные жители планеты, чтим память миллионов человек отдавших свою жизнь в борьбе с фашистской Германией.
Чтим тех, кто сегодня как и тогда, воюет за свободу и независимость нашей Родины.
На фоне современной геополитической борьбы, попыток принизить и уничтожить память о героизме народов СССР, просто непозволительно игнорировать такой день.
И пусть всегда будут несогласные люди и страны, пусть говорят те, кому личная выгода и безопасность важнее абстрактной Отчизны, но наверно, почти у каждого дома хранятся фотографии дедов с медалями, воспоминания и рассказы о том, как они победили...
С Днем Победы!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
История технологии сегодня — 09 мая
Россия, Беларусь, Молдова, Армения, Азербайджан, Грузия, Республика Абхазия, Южная Осетия, Казахстан, Узбекистан (День памяти и почестей), Туркменистан, Кыргызстан, Таджикистан, Босния и Герцеговина ( Республика Сербская), Северная Македония, Сербия, Черногория, Израиль (с 2017 года) —День Побе́ды — праздник победы Красной армии и советского народа над нацистской Германией в Великой Отечественной войне 1941—1945 годов.
Установлен Указом Президиума Верховного Совета СССР от 8 мая 1945 года и ежегодно отмечается 9 мая.
ℹ️ Кто родился в этот день
А́дам О́пель (нем. Adam Opel; 9 мая 1837, Рюссельсхайм — 8 сентября 1895, Рюссельсхайм) — основатель компании Adam Opel GmbH. Через 25 лет с момента основания Опель стал успешным международным изготовителем, экспортирующим швейные машины в Европу, США, Россию и Индию. В 1887 году Опель запустил в производство другую исключительно высоко оцененную машину — велосипед. За эти годы Опель стал самым большим в мире изготовителем велосипедов. В 1899 году Опель произвел первый автомобиль, потратив 37 лет на разработку и наработку производственного опыта. Хотя сам Адам Опель умер прежде, чем было начато автомобильное производство, семья Опель продолжила его видение, делая автомобиль доступным для как можно большего числа людей.
🌐 Знаковые события
1996 — официальным талисманом Linux стал Tux.
#Biography #Birth_Date #Events #09мая
Россия, Беларусь, Молдова, Армения, Азербайджан, Грузия, Республика Абхазия, Южная Осетия, Казахстан, Узбекистан (День памяти и почестей), Туркменистан, Кыргызстан, Таджикистан, Босния и Герцеговина ( Республика Сербская), Северная Македония, Сербия, Черногория, Израиль (с 2017 года) —День Побе́ды — праздник победы Красной армии и советского народа над нацистской Германией в Великой Отечественной войне 1941—1945 годов.
Установлен Указом Президиума Верховного Совета СССР от 8 мая 1945 года и ежегодно отмечается 9 мая.
А́дам О́пель (нем. Adam Opel; 9 мая 1837, Рюссельсхайм — 8 сентября 1895, Рюссельсхайм) — основатель компании Adam Opel GmbH. Через 25 лет с момента основания Опель стал успешным международным изготовителем, экспортирующим швейные машины в Европу, США, Россию и Индию. В 1887 году Опель запустил в производство другую исключительно высоко оцененную машину — велосипед. За эти годы Опель стал самым большим в мире изготовителем велосипедов. В 1899 году Опель произвел первый автомобиль, потратив 37 лет на разработку и наработку производственного опыта. Хотя сам Адам Опель умер прежде, чем было начато автомобильное производство, семья Опель продолжила его видение, делая автомобиль доступным для как можно большего числа людей.
1996 — официальным талисманом Linux стал Tux.
#Biography #Birth_Date #Events #09мая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🎖 Анатолий Китов — фронтовик, который мечтал соединить страну через компьютеры
В День Победы стоит вспомнить не только тех, кто сражался с оружием в руках, но и тех, кто, пройдя войну, посвятил жизнь будущему — науке и технологиям. Один из таких людей — Анатолий Иванович Китов (1920–2005).
Китов — участник Великой Отечественной, артиллерист, позже — доктор технических наук, генерал-майор, основоположник советской кибернетики и один из первых, кто мечтал о "государственной вычислительной сети" задолго до появления интернета.
🪖 Военная биография
В 1940 году окончил артиллерийское училище.
Прошёл всю войну — от Брянского фронта до Восточной Пруссии.
Был тяжело ранен, но вернулся в строй.
Уже тогда проявлял интерес к вычислениям: составлял таблицы стрельбы, занимался баллистикой.
💻 После войны: путь к вычислительной технике
После демобилизации поступает в Военную артиллерийскую академию им. Дзержинского.
Защищает диссертацию по автоматизации военных расчетов.
В 1950-е — начинает работу с первыми ЭВМ (МЭСМ, БЭСМ).
Предлагает использовать компьютеры не только в военной, но и в народнохозяйственной сфере.
🌐 Первая идея "советского интернета"
В 1959 году Китов отправляет в ЦК КПСС письмо под названием «Красная книга» — манифест о создании национальной автоматизированной системы управления экономикой (АСУ).
Он предлагает:
Централизованную сеть ЭВМ по всей стране;
Автоматизацию планирования и снабжения;
Снижение бюрократии через программирование.
Это предложение опередило ARPANET и идеи интернета на 10 лет, но в СССР кибернетика тогда ещё считалась "буржуазной лженаукой".
⚙️ Вклад в науку
Один из авторов первого учебника по программированию в СССР.
Участвовал в создании первых языков программирования в СССР (в т.ч. АЛГЭМ).
Продвигал идеи автоматизации в оборонной промышленности.
📘 Наследие
Китов не только изобрёл термины, схемы и алгоритмы. Он пытался изменить мышление эпохи — чтобы компьютеры служили людям, а не только военной машине.
Сегодня, когда мы сидим в IDE и запускаем CI/CD пайплайны, можно вспомнить, что в 1950-е в СССР жил человек, который хотел сделать единую цифровую систему управления всей страной.
https://kitov.rea.ru/polnaa-biografia
В День Победы стоит вспомнить не только тех, кто сражался с оружием в руках, но и тех, кто, пройдя войну, посвятил жизнь будущему — науке и технологиям. Один из таких людей — Анатолий Иванович Китов (1920–2005).
Китов — участник Великой Отечественной, артиллерист, позже — доктор технических наук, генерал-майор, основоположник советской кибернетики и один из первых, кто мечтал о "государственной вычислительной сети" задолго до появления интернета.
🪖 Военная биография
В 1940 году окончил артиллерийское училище.
Прошёл всю войну — от Брянского фронта до Восточной Пруссии.
Был тяжело ранен, но вернулся в строй.
Уже тогда проявлял интерес к вычислениям: составлял таблицы стрельбы, занимался баллистикой.
«Война научила меня одной важной вещи: точность и скорость расчетов — вопрос жизни и смерти».
💻 После войны: путь к вычислительной технике
После демобилизации поступает в Военную артиллерийскую академию им. Дзержинского.
Защищает диссертацию по автоматизации военных расчетов.
В 1950-е — начинает работу с первыми ЭВМ (МЭСМ, БЭСМ).
Предлагает использовать компьютеры не только в военной, но и в народнохозяйственной сфере.
«Если бы все министерства были объединены в одну вычислительную сеть — экономика стала бы прозрачной и эффективной».
(из письма Хрущёву, 1959)
🌐 Первая идея "советского интернета"
В 1959 году Китов отправляет в ЦК КПСС письмо под названием «Красная книга» — манифест о создании национальной автоматизированной системы управления экономикой (АСУ).
Он предлагает:
Централизованную сеть ЭВМ по всей стране;
Автоматизацию планирования и снабжения;
Снижение бюрократии через программирование.
Это предложение опередило ARPANET и идеи интернета на 10 лет, но в СССР кибернетика тогда ещё считалась "буржуазной лженаукой".
«Меня не поняли. Или не захотели понять. Мечта осталась в ящике».
⚙️ Вклад в науку
Один из авторов первого учебника по программированию в СССР.
Участвовал в создании первых языков программирования в СССР (в т.ч. АЛГЭМ).
Продвигал идеи автоматизации в оборонной промышленности.
📘 Наследие
Китов не только изобрёл термины, схемы и алгоритмы. Он пытался изменить мышление эпохи — чтобы компьютеры служили людям, а не только военной машине.
Сегодня, когда мы сидим в IDE и запускаем CI/CD пайплайны, можно вспомнить, что в 1950-е в СССР жил человек, который хотел сделать единую цифровую систему управления всей страной.
https://kitov.rea.ru/polnaa-biografia
👍9
🎖 Александр Ляпунов — фронтовик, который научил СССР программировать
В День Победы важно помнить не только тех, кто сражался с оружием в руках, но и тех, кто после войны строил новое мирное будущее — с помощью разума, логики и вычислительной техники. Один из таких людей — Александр Андреевич Ляпунов (1911–2003).
Ляпунов - это:
Математик, логик, кибернетик.
Один из основоположников теории алгоритмов и программирования в СССР.
Ветеран Великой Отечественной войны.
Один из авторов первого отечественного языка программирования («Альфа»).
Участвовал в создании первой советской ЭВМ — БЭСМ.
🪖 Военные годы
В начале войны — сотрудник Академии наук СССР.
Служил в рядах Красной Армии, занимался военными расчётами и криптоанализом.
После войны продолжил научную работу в сфере автоматизации и математики.
🧮 После войны — математика, логика, ЭВМ
Работал в Институте точной механики и вычислительной техники АН СССР.
Один из первых, кто преподавал программирование в СССР.
В 1954 году стал соавтором учебника «Основы программирования» — первого в стране.
Создавал языки программирования и системы автоматического перевода с математического языка на машинный код.
💻 Язык «Альфа» — шаг в сторону системного программирования
Совместно с Андреем Ершовым и Сергеем Масловым, Ляпунов разработал в конце 1950-х язык "Альфа" — предшественник более развитых систем программирования.
Основан на математической логике и языках типа АЛГОЛ.
Предназначался для научных расчётов.
Был использован на первых отечественных ЭВМ (в т.ч. БЭСМ-2).
🔬 Исследователь искусственного интеллекта
С 1960-х годов Ляпунов активно интересовался темами:
Машинного перевода;
Искусственного интеллекта;
Теории автоматов.
Он был одним из тех, кто помогал вносить термин «кибернетика» в научный обиход СССР, когда её ещё воспринимали с подозрением.
📘 Учитель поколений
Занимался научной педагогикой;
Подготовил целую плеяду учёных-программистов;
Один из основателей советской школы автоматического программирования.
https://www.computer-museum.ru/galglory/lypunov2.htm
википедия
В День Победы важно помнить не только тех, кто сражался с оружием в руках, но и тех, кто после войны строил новое мирное будущее — с помощью разума, логики и вычислительной техники. Один из таких людей — Александр Андреевич Ляпунов (1911–2003).
Ляпунов - это:
Математик, логик, кибернетик.
Один из основоположников теории алгоритмов и программирования в СССР.
Ветеран Великой Отечественной войны.
Один из авторов первого отечественного языка программирования («Альфа»).
Участвовал в создании первой советской ЭВМ — БЭСМ.
🪖 Военные годы
В начале войны — сотрудник Академии наук СССР.
Служил в рядах Красной Армии, занимался военными расчётами и криптоанализом.
После войны продолжил научную работу в сфере автоматизации и математики.
🧮 После войны — математика, логика, ЭВМ
Работал в Институте точной механики и вычислительной техники АН СССР.
Один из первых, кто преподавал программирование в СССР.
В 1954 году стал соавтором учебника «Основы программирования» — первого в стране.
Создавал языки программирования и системы автоматического перевода с математического языка на машинный код.
«Язык программирования — это мост между идеей и железом».
💻 Язык «Альфа» — шаг в сторону системного программирования
Совместно с Андреем Ершовым и Сергеем Масловым, Ляпунов разработал в конце 1950-х язык "Альфа" — предшественник более развитых систем программирования.
Основан на математической логике и языках типа АЛГОЛ.
Предназначался для научных расчётов.
Был использован на первых отечественных ЭВМ (в т.ч. БЭСМ-2).
🔬 Исследователь искусственного интеллекта
С 1960-х годов Ляпунов активно интересовался темами:
Машинного перевода;
Искусственного интеллекта;
Теории автоматов.
Он был одним из тех, кто помогал вносить термин «кибернетика» в научный обиход СССР, когда её ещё воспринимали с подозрением.
📘 Учитель поколений
Занимался научной педагогикой;
Подготовил целую плеяду учёных-программистов;
Один из основателей советской школы автоматического программирования.
https://www.computer-museum.ru/galglory/lypunov2.htm
википедия
👍10🔥1
🎖 Сергей Лебедев — человек, который построил первый советский компьютер
9 мая мы говорим не только о прошлом, но и о людях, которые после войны проложили путь к будущему. Один из них — Сергей Алексеевич Лебедев (1902–1974) — инженер, создатель первой советской ЭВМ, основатель советской школы вычислительной техники.
Лебедев - это:
Электротехник, математик, академик.
Автор первой в СССР цифровой электронной вычислительной машины — МЭСМ (1951).
Руководитель проекта БЭСМ — самой мощной машины в Европе на тот момент.
Практически в одиночку заложил основы того, что позже стало IT-отраслью в СССР.
🪖 Война: расчёты для Победы
Во время Великой Отечественной Лебедев:
Руководил отделом в Энергетическом институте АН СССР;
Занимался молниезащитой авиации и боевой техники;
Курировал расчёты для систем ПВО и баллистики;
Его методы позволили существенно ускорить проектирование систем вооружения.
💻 МЭСМ — первый советский «компьютер»
В 1948 году Лебедев переезжает в Киев, где в здании бывшего монастыря начинает работу над машиной МЭСМ — Малой электронной счётной машиной.
Команда: около 20 инженеров и студентов;
Первый запуск — декабрь 1951 года;
Производительность: ~50 операций в секунду (на то время — прорыв);
Машина полностью отечественная, собрана без западной помощи.
⚙️ БЭСМ — Большая ЭВМ
Следующим шагом стала БЭСМ — более мощная машина, которая:
Вошла в тройку самых мощных компьютеров мира в 1950-х;
Использовалась для расчётов в атомной промышленности, космосе, аэродинамике;
Применялась при проектировании спутников и баллистических ракет.
🌐 Без него не было бы советского программирования
Лебедев не только создавал «железо», он:
Разрабатывал архитектуру команд;
Поддерживал развитие языков программирования (в том числе автокод и "Адресный язык");
Сформировал первое поколение инженеров-программистов в СССР;
Поддерживал развитие автоматизированных систем управления (АСУ).
🧬 Наследие
Основал Институт точной механики и вычислительной техники (ИТМиВТ);
Его ученики — ключевые фигуры в истории вычислительной техники СССР;
Его имя носит одна из крупнейших лабораторий в России.
https://habr.com/ru/companies/ua-hosting/articles/388169/
Вики
9 мая мы говорим не только о прошлом, но и о людях, которые после войны проложили путь к будущему. Один из них — Сергей Алексеевич Лебедев (1902–1974) — инженер, создатель первой советской ЭВМ, основатель советской школы вычислительной техники.
Лебедев - это:
Электротехник, математик, академик.
Автор первой в СССР цифровой электронной вычислительной машины — МЭСМ (1951).
Руководитель проекта БЭСМ — самой мощной машины в Европе на тот момент.
Практически в одиночку заложил основы того, что позже стало IT-отраслью в СССР.
🪖 Война: расчёты для Победы
Во время Великой Отечественной Лебедев:
Руководил отделом в Энергетическом институте АН СССР;
Занимался молниезащитой авиации и боевой техники;
Курировал расчёты для систем ПВО и баллистики;
Его методы позволили существенно ускорить проектирование систем вооружения.
💻 МЭСМ — первый советский «компьютер»
В 1948 году Лебедев переезжает в Киев, где в здании бывшего монастыря начинает работу над машиной МЭСМ — Малой электронной счётной машиной.
Команда: около 20 инженеров и студентов;
Первый запуск — декабрь 1951 года;
Производительность: ~50 операций в секунду (на то время — прорыв);
Машина полностью отечественная, собрана без западной помощи.
"Примечательно то, что проектирование, монтаж и отладка машины были выполнены в течении трех лет. При этом в разработке участвовали лишь 11 инженеров и 15 технических сотрудников. Тогда как на разработку первого в мире электронного компьютера ЭНИАК (США) ушло пять лет и было задействовано 13 разработчиков и более 200 техников."
⚙️ БЭСМ — Большая ЭВМ
Следующим шагом стала БЭСМ — более мощная машина, которая:
Вошла в тройку самых мощных компьютеров мира в 1950-х;
Использовалась для расчётов в атомной промышленности, космосе, аэродинамике;
Применялась при проектировании спутников и баллистических ракет.
🌐 Без него не было бы советского программирования
Лебедев не только создавал «железо», он:
Разрабатывал архитектуру команд;
Поддерживал развитие языков программирования (в том числе автокод и "Адресный язык");
Сформировал первое поколение инженеров-программистов в СССР;
Поддерживал развитие автоматизированных систем управления (АСУ).
🧬 Наследие
Основал Институт точной механики и вычислительной техники (ИТМиВТ);
Его ученики — ключевые фигуры в истории вычислительной техники СССР;
Его имя носит одна из крупнейших лабораторий в России.
https://habr.com/ru/companies/ua-hosting/articles/388169/
Вики
👍7🔥2
История технологии сегодня — 10 мая
ℹ️ Кто родился в этот день
Лео́н Эрнест Гомо́н (фр. Léon Ernest Gaumont, 10 мая 1864 года, Париж — 10 августа 1946 года, Сент-Максим, департамент Вар) — французский продюсер, предприниматель, один из основоположников мирового кинематографа.
🌐 Знаковые события
1975 — Sony представила видеомагнитофон формата Betamax.
#Biography #Birth_Date #Events #10мая
Лео́н Эрнест Гомо́н (фр. Léon Ernest Gaumont, 10 мая 1864 года, Париж — 10 августа 1946 года, Сент-Максим, департамент Вар) — французский продюсер, предприниматель, один из основоположников мирового кинематографа.
1975 — Sony представила видеомагнитофон формата Betamax.
#Biography #Birth_Date #Events #10мая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
С 02.05 по 08.05
Предыдущий пост(с 25.04 по 01.05)
Запись встреч/видео:
В процессе создания
Обучающие статьи:
Раздел 9. Исключения, логирование, отладка
Глава 1. Иерархия исключений (Exceptions)
Практика: Защитное программирование в «Библиотеке»
Глава 2. Логирование (Logging)
Почему System.out.println — антипаттерн для production-приложений
Архитектура логирования: фасад и реализация. SLF4J, Logback, Log4j2
[Совет по Java #033]
Тема: Collections.emptyList() и List.of() возвращают иммутабельные списки.
[Совет по Java #034]
Тема: Ленивая инициализация синглтона через double-checked locking требует volatile.
Полезные статьи и видео:
https://habr.com/ru/articles/1031336/
Как и всегда, задачи можно найти под тегом - #Tasks, вопросы с собеседований - #собеседование
Предыдущий пост(с 25.04 по 01.05)
Запись встреч/видео:
В процессе создания
Обучающие статьи:
Раздел 9. Исключения, логирование, отладка
Глава 1. Иерархия исключений (Exceptions)
Практика: Защитное программирование в «Библиотеке»
Глава 2. Логирование (Logging)
Почему System.out.println — антипаттерн для production-приложений
Архитектура логирования: фасад и реализация. SLF4J, Logback, Log4j2
[Совет по Java #033]
Тема: Collections.emptyList() и List.of() возвращают иммутабельные списки.
[Совет по Java #034]
Тема: Ленивая инициализация синглтона через double-checked locking требует volatile.
Полезные статьи и видео:
https://habr.com/ru/articles/1031336/
Как и всегда, задачи можно найти под тегом - #Tasks, вопросы с собеседований - #собеседование
👍4
История технологии сегодня — 11 мая
ℹ️ Кто родился в этот день
Э́дсгер Ви́бе Де́йкстра (нид. Edsger Wybe Dijkstra (11 мая 1930, Роттердам, Нидерланды — 6 августа 2002, Нюэнен, Нидерланды) — нидерландский учёный, труды которого оказали влияние на развитие информатики и информационных технологий; один из разработчиков концепции структурного программирования, исследователь формальной верификации и распределённых вычислений. Тьюринговский лауреат (1972).
Известность Дейкстре принесли его работы в области применения математической логики при разработке компьютерных программ. Он активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60. Будучи одним из авторов концепции структурного программирования, он проповедовал отказ от использования инструкции GOTO. Также ему принадлежит идея применения «семафоров» для синхронизации процессов в многозадачных системах и алгоритм нахождения кратчайшего пути на ориентированном графе с неотрицательными весами рёбер, известный как алгоритм Дейкстры.
Ри́чард Фи́ллипс Фе́йнман (Фа́йнман) (англ. Richard Phillips Feynman; 11 мая 1918, Куинс, Нью-Йорк, США — 15 февраля 1988, Лос-Анджелес, США) — американский физик, основные достижения относятся к области теоретической физики и квантовой физики. Один из создателей квантовой электродинамики. Лауреат Нобелевской премии по физике (1965, совместно с С. Томонагой и Дж. Швингером).
В 1943—1945 годах входил в число разработчиков атомной бомбы в Лос-Аламосе. Разработал метод интегрирования по траекториям в квантовой механике (1948), а также так называемый метод диаграмм Фейнмана (1949) в квантовой теории поля, с помощью которых можно объяснять превращения элементарных частиц. Предложил партонную модель нуклона (1969), теорию квантованных вихрей. Реформатор методов преподавания физики в вузе.
🌐 Знаковые события
1997 — чемпион мира по шахматам Гарри Каспаров признал поражение в матче с компьютером IBM «Deep Blue».
#Biography #Birth_Date #Events #11мая
Э́дсгер Ви́бе Де́йкстра (нид. Edsger Wybe Dijkstra (11 мая 1930, Роттердам, Нидерланды — 6 августа 2002, Нюэнен, Нидерланды) — нидерландский учёный, труды которого оказали влияние на развитие информатики и информационных технологий; один из разработчиков концепции структурного программирования, исследователь формальной верификации и распределённых вычислений. Тьюринговский лауреат (1972).
Известность Дейкстре принесли его работы в области применения математической логики при разработке компьютерных программ. Он активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60. Будучи одним из авторов концепции структурного программирования, он проповедовал отказ от использования инструкции GOTO. Также ему принадлежит идея применения «семафоров» для синхронизации процессов в многозадачных системах и алгоритм нахождения кратчайшего пути на ориентированном графе с неотрицательными весами рёбер, известный как алгоритм Дейкстры.
Ри́чард Фи́ллипс Фе́йнман (Фа́йнман) (англ. Richard Phillips Feynman; 11 мая 1918, Куинс, Нью-Йорк, США — 15 февраля 1988, Лос-Анджелес, США) — американский физик, основные достижения относятся к области теоретической физики и квантовой физики. Один из создателей квантовой электродинамики. Лауреат Нобелевской премии по физике (1965, совместно с С. Томонагой и Дж. Швингером).
В 1943—1945 годах входил в число разработчиков атомной бомбы в Лос-Аламосе. Разработал метод интегрирования по траекториям в квантовой механике (1948), а также так называемый метод диаграмм Фейнмана (1949) в квантовой теории поля, с помощью которых можно объяснять превращения элементарных частиц. Предложил партонную модель нуклона (1969), теорию квантованных вихрей. Реформатор методов преподавания физики в вузе.
1997 — чемпион мира по шахматам Гарри Каспаров признал поражение в матче с компьютером IBM «Deep Blue».
#Biography #Birth_Date #Events #11мая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
[Совет по Java #035]
Тема:
Проблема:
При неперехваченном исключении поток умирает, печатая stack trace в stderr, но все последующие задачи никогда не выполняются. Это особенно опасно, так как исключение можно не заметить в логах, а критическая логика (очистка кешей, heartbeat'ы) перестанет работать.
Решение: Вместо
Объяснение:
После этого поток завершается, и
Кроме того,
#Java #советы
Тема:
java.util.Timer создает один поток для всех задач.Проблема:
Timer использует единственный фоновый поток для выполнения всех запланированных задач. При неперехваченном исключении поток умирает, печатая stack trace в stderr, но все последующие задачи никогда не выполняются. Это особенно опасно, так как исключение можно не заметить в логах, а критическая логика (очистка кешей, heartbeat'ы) перестанет работать.
Решение: Вместо
Timer используйте ScheduledThreadPoolExecutor из пакета java.util.concurrent. Он поддерживает пул потоков, и падение одной задачи не влияет на выполнение других. public class TimerVsScheduler {
//Антипаттерн: Timer умирает при исключении
public static void badTimer() throws InterruptedException {
Timer timer = new Timer("BadTimer");
// Задача, которая упадет
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("Падающая задача выполняется");
throw new RuntimeException("Ошибка в задаче!");
}
}, 0);
// Периодическая задача (должна выполняться каждые 500 мс)
timer.scheduleAtFixedRate(new TimerTask() {
private int count = 0;
@Override
public void run() {
System.out.println("Нормальная задача: " + (++count));
}
}, 500, 500);
Thread.sleep(2000);
// После падения первой задачи вторая перестала выполняться!
System.out.println("После исключения нормальная задача больше не выполняется");
}
//Решение: ScheduledThreadPoolExecutor
public static void goodScheduler() throws InterruptedException {
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
// Падающая задача
scheduler.schedule(() -> {
System.out.println("Падающая задача выполняется");
throw new RuntimeException("Ошибка в задаче!");
}, 0, TimeUnit.MILLISECONDS);
// Периодическая задача
scheduler.scheduleAtFixedRate(() -> {
System.out.println("Нормальная задача выполняется: " + System.currentTimeMillis());
}, 500, 500, TimeUnit.MILLISECONDS);
Thread.sleep(2000);
System.out.println("Нормальная задача продолжает работать после исключения");
scheduler.shutdown();
}
public static void main(String[] args) throws InterruptedException {
System.out.println("=== Демонстрация проблемы Timer ===");
try {
badTimer();
} catch (Exception e) {
System.out.println("Timer упал целиком");
}
Thread.sleep(1000);
System.out.println("\n=== Демонстрация ScheduledThreadPoolExecutor ===");
goodScheduler();
}
}Объяснение:
TimerTask является подклассом Runnable, и если его метод run() выбрасывает исключение, то поток Timer не перехватывает его. После этого поток завершается, и
Timer переходит в некорректное состояние. ScheduledThreadPoolExecutor использует пул потоков, где каждый Runnable обернут в безопасный код, перехватывающий исключения. Даже если всё пул из нескольких потоков, падение одного потока не останавливает остальные, и пул создаст новый поток при необходимости.Кроме того,
ScheduledThreadPoolExecutor правильно обрабатывает ситуации, когда задача выполняется дольше интервала (в отличие от Timer, где это может вызвать смещение). Для фиксированного интервала между завершениями используйте scheduleWithFixedDelay.#Java #советы
👍4
13. Kafka: переход от очереди задач к журналу событий
RabbitMQ из прошлого видео — это очередь задач: сообщение исчезает после обработки. А если аналитический сервис захочет перечитать историю заказов за вчера?
Не получится.
В этом видео мы переходим от модели очереди к журналу событий (commit log) с помощью Apache Kafka.
Разбираем, почему Kafka — это не просто ещё один брокер, а архитектурный сдвиг: события не удаляются, а хранятся, и их могут читать множество независимых потребителей.
Исходный код проекта на GitHub наверняка заслуживает Ваших звезд!🙂
Ссылка на Youtube
Ссылка на Рутьюб
Смотрите, ставьте лайки, подписывайтесь на каналы!✌️
Буду крайне благодарен🙂
RabbitMQ из прошлого видео — это очередь задач: сообщение исчезает после обработки. А если аналитический сервис захочет перечитать историю заказов за вчера?
Не получится.
В этом видео мы переходим от модели очереди к журналу событий (commit log) с помощью Apache Kafka.
Разбираем, почему Kafka — это не просто ещё один брокер, а архитектурный сдвиг: события не удаляются, а хранятся, и их могут читать множество независимых потребителей.
Исходный код проекта на GitHub наверняка заслуживает Ваших звезд!
Ссылка на Youtube
Ссылка на Рутьюб
Смотрите, ставьте лайки, подписывайтесь на каналы!
Буду крайне благодарен
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что выведет код?
#Tasks
import java.util.Timer;
import java.util.TimerTask;
public class Task110526 {
static int counter = 0;
public static void main(String[] args) throws InterruptedException {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
counter++;
if (counter == 2) {
throw new RuntimeException("Boom!");
}
System.out.print("A" + counter + " ");
}
}, 0, 100);
Thread.sleep(450);
timer.cancel();
System.out.println("Done");
}
}
#Tasks
👍4
Варианты ответа:
Anonymous Quiz
55%
Сначала A1, потом исключение (в stderr), потом Done.
15%
A1 A2 A3 A4 Done
25%
A1 Done
5%
Исключение, Done
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Java Developer
👩💻 Autoboxing: одна из самых незаметных ловушек Java
В статье показывают, как автоматическая упаковка примитивов превращается в лишние объекты, нагрузку на GC и рост потребления памяти.
Особенно актуально сейчас, когда AI и cloud-инфраструктура снова делают…
В статье показывают, как автоматическая упаковка примитивов превращается в лишние объекты, нагрузку на GC и рост потребления памяти.
Особенно актуально сейчас, когда AI и cloud-инфраструктура снова делают…
🔥5
Что такое TreeMap? Какая у него сложность? 🤓
Ответ:
TreeMap — это реализация NavigableMap, основанная на красно-черном дереве (сбалансированное бинарное дерево поиска).
Ключи хранятся отсортированными (natural order или по переданному Comparator). Операции put, get, remove, containsKey имеют сложность O(log n).
В отличие от HashMap (O(1) в среднем), TreeMap медленнее, но предоставляет методы для работы с диапазонами: subMap(), headMap(), tailMap(), firstKey(), lastKey(), ceilingKey() и др. Ключи должны быть взаимно сравнимы.
#собеседование
Ответ:
Ключи хранятся отсортированными (natural order или по переданному Comparator). Операции put, get, remove, containsKey имеют сложность O(log n).
В отличие от HashMap (O(1) в среднем), TreeMap медленнее, но предоставляет методы для работы с диапазонами: subMap(), headMap(), tailMap(), firstKey(), lastKey(), ceilingKey() и др. Ключи должны быть взаимно сравнимы.
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
