tgindex
Java for Beginner

Java for Beginner

Статистика

Канал от новичков для новичков! Изучайте Java вместе с нами! Здесь мы обмениваемся опытом и постоянно изучаем что-то новое! Наш YouTube канал - https://www.youtube.com/@Java_Beginner-Dev Наш канал на RUTube - https://rutube.ru/channel/37896292/

Последний пост
14:03
Последнее чтение
14 авг.
Постов за неделю
51
Всего постов
1 542
Тип
открытый
Язык
русский
Категория
Видео
В каталоге с
12 авг.
Подписчики
871
−1 за 5 дн.
Сутки
0
0,00%
Неделя
 
Месяц
 
Просмотров на пост
67
40 постов
Вовлечённость
7,7%
к подписчикам
Постов в день
7,3
всего 1 542
Упоминаний
0
каналов
Охват размещения
оценка
1/24сутки в ленте
61
1/48двое суток
69
1/72трое суток
75

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • Варианты ответа:

  • Что выведет код? import java.util.concurrent.ConcurrentHashMap; public class task170826 { public static void main(String[] args) { ConcurrentHashMap<Integer, String> map = new ConcurrentHashMap<>(); map.put(1, "one"); map.put(2, "two"); map.put(3, "three"); for (Integer key : map.keySet()) { if (key == 2) { map.remove(1); map.remove(3); } } System.out.println(map.size()); } } #Tasks

  • 10:593931

    [Совет по Java #072] Тема: ConcurrentHashMap при итерации не бросает ConcurrentModificationException — она weakly consistent. Проблема: В отличие от обычных коллекций (HashMap, ArrayList), итераторы которых являются fail-fast и выбрасывают ConcurrentModificationException при обнаружении структурных изменений во время итерации, ConcurrentHashMap использует стратегию слабой согласованности (weakly consistent). Это означает, что итератор не гарантирует, что отразит все изменения, произошедшие во время итерации, и не бросает исключения при конкурентных модификациях. Разработчики, привыкшие к fail-fast итераторам, ожидают, что при изменении карты во время обхода возникнет исключение, и могут строить логику, полагаясь на это поведение. Однако в ConcurrentHashMap это не происходит, и отсутствие исключения может замаскировать ошибки конкурентного доступа, приводя к тому, что итерация видит частично обновленные данные или пропускает новые элементы. Это особенно опасно, когда предполагается, что коллекция статична во время итерации, но на самом деле изменяется другими потоками. Решение: Осознайте, что итерация по ConcurrentHashMap безопасна в многопоточной среде, но не предоставляет моментального снимка (snapshot). Итератор отражает состояние карты на момент создания итератора, но может видеть изменения, произошедшие после (в зависимости от реализации). Для получения согласованного снимка используйте entrySet().toArray() или создайте копию карты перед итерацией. Если вам нужна строгая согласованность в момент обхода, синхронизируйтесь на самой карте или используйте Collections.synchronizedMap. Однако для большинства сценариев, где не требуется полная изоляция, поведение ConcurrentHashMap вполне приемлемо и позволяет избежать исключений. Документируйте ожидаемое поведение и не полагайтесь на отсутствие исключений как на гарантию целостности данных. public class ConcurrentHashMapIteration { public static void main(String[] args) throws InterruptedException { ConcurrentHashMap<Integer, String> map = new ConcurrentHashMap<>(); map.put(1, "One"); map.put(2, "Two"); map.put(3, "Three"); //Итерация безопасна и не бросает ConcurrentModificationException Thread modifier = new Thread(() -> { map.put(4, "Four"); // модификация во время итерации map.remove(2); }); // Итератор создается ДО изменений var iterator = map.entrySet().iterator(); modifier.start(); // Итерация продолжается, несмотря на изменения System.out.println("Итерация (weakly consistent):"); while (iterator.hasNext()) { Map.Entry<Integer, String> entry = iterator.next(); System.out.println(entry.getKey() + " -> " + entry.getValue()); // Может увидеть 4, может не увидеть; 2 может быть или нет // Исключений не будет } modifier.join(); // Для снимка: копирование Map<Integer, String> snapshot = new ConcurrentHashMap<>(map); System.out.println("Снимок: " + snapshot); } } Объяснение: ConcurrentHashMap использует внутреннюю сегментацию (bucket-level locking) и не блокирует всю структуру при модификации. Итераторы строятся на основе текущего состояния сегментов и не хранят отдельный снимок. Они не проверяют счетчик модификаций (в отличие от fail-fast итераторов), поэтому не бросают ConcurrentModificationException. Вместо этого они гарантируют, что обход будет продолжаться без исключений, и каждый элемент будет посещен не более одного раза, но при этом элементы, добавленные или удаленные во время итерации, могут быть как видны, так и нет. Такая модель подходит для высококонкурентных систем, где важна производительность, а не строгая изоляция. #Java #советы

  • Что сейчас, на Ваш взгляд, можно поменять на Devforge.ru?

  • Чего не хватает на Devforge.ru, чтобы вы заходили на этот сайт каждый день?

  • 🗓 История IT сегодня — 17 августа ℹ️ Кто родился в этот день Ло́уренс Джо́зеф «Ла́рри» Э́ллисон (англ. Lawrence Joseph «Larry» Ellison; род. 17 августа 1944 года, Бронкс, Нью-Йорк, США) — сооснователь и долгосрочный руководитель Oracle Corporation; ключевая фигура в развитии коммерческих СУБД и корпоративного программного обеспечения. 🌐 Знаковые события 1958 — Pioneer 0 (Thor-Able) — первая американская попытка отправить аппарат к Луне; запуск 17 августа, авария на взлёте. 1970 — программа «Венера»: запуск аппарата Венера-7, первого успешно передавшего данные с поверхности другой планеты — Венеры. 1982 — Германия/Япония: на заводе Philips (Ганновер) начинают серийно прессовать первые компакт-диски (CD); коммерческий старт CD-эры — осень 1982. #Biography #Birth_Date #Events #17Августа

  • без подписи

  • без подписи

  • https://hh.ru/vacancy/135709779 Я вот не понимаю, неужто кто-то соглашается на такие условия? 🤪 Крутая, бл, команда.... 🤦‍♂️

  • 🤫 «А вдруг я скажу глупость?» Софт-скиллы, которым не учат в курсах 🤓 Вот представь, ты прочитал весь мой канал, изучил синтаксис вдоль и поперек, научился виртуозно делать API, освоил Git, знаешь Spring и WebFlux. Но вот пришло собеседование — и ты... завис. — Расскажите о себе. — Ну… я... типа… учился… кодить... Знакомо? А теперь еще предположим: ты уже устроился и тебе дали таску. И ты видишь, что надо уточнить у тимлида детали. Но в голове: «А если я спрошу — подумает, что тупой...» «Лучше погуглю еще 3 часа, чем покажусь нубом» «Он ведь профи. Я даже не знаю с чего начать...» Это называется - коммуникативная тревожность. Она же — тихий киллер карьеры в IT. Почему ты боишься говорить 🤫 Вот тебе правда: страх общения — это не про характер. Это навык. Даже самые «разговорчивые» разработчики когда-то: - боялись скинуть Pull Request с комментариями, - часами переписывали сообщение в телеграмме, - репетировали простой вопрос голосом. Почему некоторым в IT это так сложно? Потому что IT часто привлекает интровертов, бывших «отличников», людей, которые учились всё понимать сами, без помощи. И теперь, оказавшись в команде — они просто не умеют задавать вопросы или входить в беседу. Что происходит в голове? 😨 В когнитивной психологии есть понятие self-presentation concern — это тревога из-за того, как тебя воспримут другие. Именно она: - заставляет молчать, когда нужно спросить; - мешает делиться идеями; - блокирует на стендапах. А ещё есть спираль молчания — если ты боишься говорить, ты выпадаешь из общения, и из-за этого боишься ещё больше. Вот пара моих советов если ты чувствуешь что твой софт-скилл слабоват: Говори, даже если страшно. Но не вживую, а письменно. Заведи привычку активно писать: в рабочем чате, в Telegram, в комментариях к pull request'ам. Так ты приучаешь мозг к выражению мысли — без страха, что тебя перебьют или осудят. Это снижает тревожность, активирует рефлексивную речь — внутреннее проговаривание и структуру мысли. Не бойся задавать глупые вопросы. Как сказал один умный человек: "В IT нет глупых вопросов, есть чересчур ЧСВ-шные отвечающие" Микроконтакт — это уже общение Не нужно фигачить речь на 3 минуты. Просто начни с одной фразы: «А почему мы сделали вот так, а не так?» «Спасибо, крутая реализация» «Подскажи, я что-то путаюсь в этой части» Это называется anchored small talk — микровзаимодействия, которые создают эффект «я в теме». Даже если ты мало говоришь. Заготовь фразы. Да, можно и записать Серьёзно. Напиши себе в заметках: Вопрос на стендап: «Ребят, я правильно понимаю, что…» Начало диалога: «Можно короткий вопрос про фичу?» Завершение: «Окей, тогда попробую и отпишусь» В момент тревоги мозг не придумывает речь с нуля. Он вытаскивает готовое. Подсунь ему нужные заготовки — и увидишь, как снижается стресс. Найди «одного своего» Не команду. Не менторов. Одного союзника, с кем безопасно говорить. Пишете вместе код — обменивайтесь мыслями. Работаете на проекте — обсуждай идеи. В сообществе — шутите, делитесь опытом. Это снижает страх перед всей группой. Есть ощущение, что ты не один. А с этого и начинается уверенное взаимодействие. Ты можешь спросить: "А зачем мне это вообще?" Пойми: Ты можешь быть классным кодером, но без софт-скиллов — останешься «интровертным сеньором без влияния». Ты сможешь влиять, если умеешь объяснить, услышать, вдохновить. Продуктивность команд напрямую зависит от психологической безопасности — и ты можешь её самостоятельно формировать. А еще спроси себя - кого повысят, из двух одинаково скиловых разработчиков? Того кто грамотно и без страха излагает свои мысли или того кто молчит или отвечает невпопад? Поэтому, не стесняйся, пиши в комментариях, что ты думаешь об это статье! Прокачай навык 😉 Понравилась статья - поделись с другом, позови его на канал и будет тебе моя благодарность 🤝 😎 #motivation

  • 🗓 История IT сегодня — 16 августа ℹ️ Кто родился в этот день Христос Харилаос Пападимитриу (греч. Χρήστος Χαριλάος Παπαδημητρίου; род. 1949, Афины) — один из ведущих теоретиков в компьютерных науках; важные работы по теории алгоритмов, сложности вычислений и теория игр, автор фундаментальных учебников и исследований. Член Национальных Академии наук (2009) и Инженерной академии США, профессор Калифорнийского университета в Беркли. 🌐 Знаковые события 1890 — Электромеханическая обработка переписи США: Бюро переписи объявляет результаты, подсчитанные машинами Германа Холлерита — рубеж для истории вычислений и табуляторов. 1993 — Иан Мёрдок основал сообщество «Debian», занимающееся созданием и распространением свободного дистрибутива Debian GNU/Linux. 2006 — в русской Википедии появилась юбилейная, 100-тысячная статья. #Biography #Birth_Date #Events #16Августа

  • Напоминаю, что продолжаю набирать желающих изучить Java! Устройств на работу не обещаю, но до мидла (java/spring) доведу. Пишите @Oleborn

  • без подписи

  • без подписи

  • без подписи

  • без подписи

  • Мое утро)) а как вы его проводите?🚲💪

  • без подписи

  • без подписи

  • 🗓 История IT сегодня — 15 августа 15 августа (дата отмечается как Computer Science Day) — день, посвящённый дате запуска первого массового электронного компьютера ENIAC. ℹ️ Кто родился в этот день Лесли Джон Комри (15 августа 1893 г. – 11 декабря 1950 г.) — Астроном и пионер механической/механографической автоматизации вычислений; один из ранних организаторов коммерческих вычислительных услуг и автоматизации таблиц — предтеча компьютерной обработки данных. Пьер Буге́р (также Буге; фр. Pierre Bouguer; 16 февраля 1698, Круазик (Croisic), Франция — 15 августа 1758, Париж) — французский физик, математик и астроном, основатель фотометрии. Известен трудами по теории корабля, геодезии, гидрографии и другим отраслям знания. Имя Бугера внесено в список 72 величайших учёных Франции, размещённый на первом этаже Эйфелевой башни. 🌐 Знаковые события 1877 — американский изобретатель Томас Эдисон в письме президенту телеграфной компании Питтсбурга предложил в качестве приветствия при общении по телефону использовать слово «hello» (в России оно трансформировалось в «алло»). В этот же день Эдисон произвёл первую запись звука на свой фонограф — песню «Mary Had a Little Lamb» («У Мэри был барашек»). 1977 — радиотелескоп Big Ear (Огайо, США) зафиксировал "Wow! signal" — один из самых известных возможно внеземных радиоимпульсов. 1998 — компания Apple начала поставки iMac G3, модели, которая кардинально изменила дизайн и восприятие компьютеров в массовом сознании. #Biography #Birth_Date #Events #15Августа