Telegram

Java Guru 🤓

РКН
Прямой пост
t.me/javatasks
Баллы: 4
Описание канала в Telegram

Канал с вопросами и задачами с собеседований! По сотрудничеству и рекламе: ссылка скрыта Канал в перечне РКН: ссылка скрыта Мы на бирже: ссылка скрыта

Аудитория
Смешанная аудитория
Подписчики
13 167
-6день
-24неделя
-96месяц
Охват поста
727
727за 24 часа
778в среднем
Вовлечённость
5,5%
5,5%за 24 часа
12%в среднем
Упоминания в других каналах

Канал упомянули 232 раза в 26 каналах

Чем больше упоминаний и каналов — тем заметнее канал в своей нише.

Информация о подписчиках
Вк, телеграм

Похожие каналы

29 289
Смешанная аудитория
ERR 13%

🔓 Популярные игры, приложения для android устройств, новости технологий и многое другое. 🤝 Сотрудничество: https://clck.su/FWLEf ⚠️ Наш чат: 🔓 Популярные игры, приложения для android устройств, новости технологий и многое другое. 🔓 Популярные игры, приложения для android устройств, новости технологий Игры, приложения, модификации, моды, новости, android, сма

2 200
4 095
Мужская аудитория
ERR 23%

Пишем про новые ИИ-модели, open-source проекты и инструменты для разработки. Следим за релизами и собираем главное в одном месте. Реклама: @clucai_sup Купить рекламу: https://telega.in/c/+tiyGChxuJ0oyZjAy

2 000
1 982
Смешанная аудитория
ERR 17%

ChatGPT (ЧатГпт) | NanoBanana 2 (НаноБанана) | DeepSeek | Claude (Клод) | Veo 3.1 | GPT Image 2 | Kling (Клинг) | Grok | GPT 2 AI Бот | ИИ Бот | ИИ Max | нейросети | написать текст | ответы на вопросы | перевод | генерация фото | генерация видео | улучшить фото | фотосессия Бот с нейросетями — @id711601738400_bot 🧑‍💻 Связь: https://clck.ru/3T8PD8 Сервис аналитики MAX - https://maxframe.ru

600
9 907
Смешанная аудитория
ERR 14%

Канал направленный на исследование в сфере ИБ, OSINT. Сотрудничество: @glebsto Медиа: @agencytender Мы на бирже: https://telega.in/c/info_cybersecurity Архив: https://t.me/tochkaseti

3 000
2 328
Мужская аудитория
ERR 27%

Реклама: https://iimax.ru/seller135

2 000
2 011
Смешанная аудитория
ERR 23%

Вся самая новая и полезная литература для Java разработчиков! По вопросам авторских прав, сотрудничества и рекламы: https://t.me/NadikaKir или в ЛС сообщества ВК https://vk.com/javatutorial Мы на бирже: https://telega.in/channels/bookofgeek/card_max/?r=lcDuijdm Канал в перечне РКН: https://vk.cc/cJrTqo

900
Формат размещения
1 800

топ 1 час · сутки в ленте · цена напрямую от автора

💎Эффективность за эти деньги
2,5
CPV · за показ
2 476
CPM · за 1000
Пересчитывается от формата и охвата 727/24ч
Гарантия выхода поста и возврат средств
Надёжность сделки
Среднее время ответа админа
Среднее время ответа админа
Обычно отвечает быстро
Размещений через Помогач
Размещений через Помогач
Первое размещение — за вами
Посты в канале
Java Guru 🤓
Telegram · канал
«Нейросети для руководителей» от Яндекса и НИУ ВШЭ ⚡ Команда Яндекс Практикума собрала интенсив «Нейросети для руководителей», чтобы за 3 недели подготовить менеджеров к работе по новым правилам рынка. ✅ В программе: - 14 нейросетей — ChatGPT, Claude, n8n, Cursor и другие. - Практики под руководством топ-экспертов по ИИ из Яндекса и НИУ ВШЭ. - 6 воркшопов, которые легко совмещать с работой. - 6 проектов на ваших реальных кейсах — от аналитической справки до мини-продуктов и агентных цепочек. На выходе — весь спектр ИИ-навыков: отчёты и аналитика без ручной работы, гипотезы за часы, стратегия вместо операционки. Руководители перестают «тушить пожары» и начинают по-настоящему управлять. Узнать больше #реклама 16+ practicum.yandex.ru О рекламодателе
269 просм.25 авг., 23:18
Знаете, что в Java switch можно использовать как выражение, а не только как отдельный блок кода? Раньше для выбора значения часто писали так: int timeout; switch (env) { case "dev": timeout = 5; break; case "test": timeout = 10; break; case "prod": timeout = 30; break; default: throw new IllegalArgumentException(env); } Работает, но кода много, и легко забыть break. В современном Java можно записать это короче: int timeout = switch (env) { case "dev" -> 5; case "test" -> 10; case "prod" -> 30; default -> throw new IllegalArgumentException(env); }; Такой switch сразу возвращает значение, поэтому его удобно использовать для конфигов, статусов, ролей, типов платежей, уровней логирования и любых фиксированных сценариев. Если логика в ветке сложнее, можно использовать yield: int price = switch (type) { case "vip" -> { int discount = 20; yield basePrice - discount; } default -> basePrice; }; Код получается компактнее, а Java помогает следить, чтобы результат действительно был получен. Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
410 просм.25 авг., 17:39
Не знак свыше, а точный таргетинг Теперь всем, кто продвигается через CTV в Яндекс Директе, стало проще находить свою аудиторию. Таргетингов стало в 5 раз больше. Вот что нового: — Таргетинг по интересам. Например, можно выбрать не всех, кто интересуется спортом, а только любителей фитнеса или тенниса. — Таргетинг по привычкам. Находите аудиторию по поведению в онлайне и офлайне — например, тех, кто регулярно посещает торговые центры или часто покупает товары в интернете. — Более гибкие настройки. Можно сочетать интересы и социально-демографические характеристики с жанрами и тематиками контента. 👌 Используйте новые возможности, чтобы сделать рекламу на Connected TV еще эффективнее Узнать больше #реклама yandex.ru О рекламодателе
661 просм.25 авг., 13:23
1 323 просм.25 авг., 09:43
Хочешь карьеру в ИТ? Начни с программы «Мини-СЕО» ⚡Попади в команду топ-менеджера Т-Банка и работай над стратегическими проектами компании. В зависимости от трека ты сможешь: — разрабатывать эффективные методологии для оценки влияния продукта на экосистему с Владимиром Любимовым; — исследовать экосистемы и находить наиболее перспективные точки роста с Максимом Безруковым; — развивать сегмент автолюбителей и заниматься региональной экспансией Т-Банка с Жорой Сукасяном; — вести стратегический план развития 3P, развивать AI-продукты и искать, где AI может упростить работу команды, c Денисом Коротовым; — участвовать в создании B2B-маркетплейса c Владимиром Абазовым. Программа подойдет студентам и джуниор-специалистам, которые сильны в математике, аналитике и программировании. Успей подать заявку до 25 сентября! Зарегистрироваться #реклама 16+ t-miniceo.ru О рекламодателе
709 просм.25 авг., 05:28
new String("Hello_42") == "Hello_" + 42? Такие вопросы о сравнении строковых и числовых констант проверяют знания о понятии пулов литералов (literal pool). Не следует путать с пулом констант класса. Виртуальная машина переиспользует один и тот же объект для строкового литерала при загрузке класса, если такой уже выделен в куче. Вот почему "Hello" == "Hello" истинно, не смотря на то что String – ссылочный тип. Такая оптимизация возможна благодаря свойству неизменяемости (immutable) класса String, и называется интернирование строк. Кроме самих литералов, интернирование применяется ко всем константным выражениям. К таким выражениям в этом примере относятся неявное приведение числа 42 к строке и конкатенация констант. Это делает истинным "Hello_42" == "Hello_" + 42. Пул литералов не работает, когда явно используется оператор new. Это причина, по которой выражение new String("Hello_42") == "Hello_" + 42 ложно. Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
680 просм.25 авг., 01:11
Настольная книга по применению ИИ для руководителя Подпишись на tg-канал "ген ИИ" и получи настольную книгу руководителя по применению ИИ. "Ген ИИ" - авторский канал Алексея Сидорюка о генеративном ИИ для бизнеса, ИИ-агентах для руководителя, разборе актуальных трендов, кейсов, эффектов и аналитики. Только полезная информация без инфошума. Подписаться #реклама 16+ О рекламодателе
686 просм.24 авг., 23:49
682 просм.24 авг., 23:16
748 просм.24 авг., 17:49
761 просм.24 авг., 17:49
758 просм.24 авг., 17:49
Телеграм канал AI для бизнеса AI - не будущее. Это настоящее вашего бизнеса. Телеграм-канал "AI для бизнеса" знает все о внедрении и использовании искусственного интеллекта в бизнесе в России и мира. Только со своими подписчиками канал делится: - как внедрить искусственный интеллект в реальные бизнес-процессы, - разборами кейсов: как компании сократили затраты на 30-50% с помощью AI, - лайфхаками по автоматизации рутинных задач, - новостями мира AI и разборами трендов. Сами давно читаем и вам советуем подписаться. Подписаться #реклама 16+ О рекламодателе
768 просм.24 авг., 17:49
761 просм.24 авг., 17:49
2 031 просм.24 авг., 15:55
Koton Мы стали ещё ближе! Подписывайтесь на наш Telegram-канал, чтобы быть в курсе эксклюзивного контента, новых кампаний и актуальных трендов Подписаться #реклама О рекламодателе
869 просм.24 авг., 13:49
Какими коллекциями пользоваться в многопоточной среде? Первый вариант – превратить в синхронизированную обычную коллекцию, вызвав соответствующий ее типу метод Collections.synchronized*(). Самый общий и самый примитивный способ, создает обертку с синхронизацией всех операций с помощью synchronized. Если работа с коллекцией состоит в основном из чтения, лучшая в плане производительности альтернатива – CopyOnWriteArrayList, и содержащий его в реализации CopyOnWriteArraySet. Потокобезопасность достигается копированием внутреннего массива при любой модификации, оригинальный массив остается immutable. Program order достигается модификатором volatile на внутреннем массиве. Третий вариант – использование Concurrent-коллекций: 🔘 Неблокирующие хэш-таблицы ConcurrentSkipListMap, ConcurrentHashMap и ConcurrentSkipListSet (хэш-таблица в основе реализации) 🔘 Неблокирующие очереди ConcurrentLinkedQueue и ConcurrentLinkedDeque 🔘 Большой набор различных блокирующих очередей Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
922 просм.24 авг., 00:34
926 просм.23 авг., 17:49
2 248 просм.23 авг., 11:38
Как в лямбде изменить внешнюю локальную переменную? Это нельзя сделать в лоб. Такой код не скомпилируется, потому что захваченная локальная переменная обязана быть effectively final. Такое требование исходит из следующих причин. Локальная переменная хранится на стеке, а значит время ее жизни в отличие от долгоживущих элементов хипа ограничено скоупом и текущим потоком. Но экземпляр лямбды, захвативший эту переменную, мог бы быть передан наружу и использован для доступа к этой переменной из другого потока и после выхода из метода. Эта проблема решается тем, что в лямбду копируется значение локальной переменной. Такая копия живет независимо, возможно дольше оригинала. Но это решение приведет к сложному поведению из-за возможности работы с неактуальным значением – копия и оригинал станут двумя разными переменными. Поэтому значение должно быть вечно актуально – неизменяемо. Поля экземпляра менять можно, потому что захваченной переменной в этом случае выступает effectively final значение this. Если локальную переменную всё же хочется изменить, решение очевидно – поместить её в кучу. Для этого нужно использовать любого рода обертку: одноэлементный массив, объект-atomic, специально созданный класс с этой переменной как полем. Хак с оберткой решает проблему времени жизни и даёт коду скомпилироваться, но возвращает проблему сложности поведения. Если среда многопоточная, то вероятно порядок операций с этой переменной придется синхронизировать вручную. Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
900 просм.22 авг., 13:02
Чем отличается Closeable от AutoCloseable? Интерфейс AutoCloseable представляет объект-хранилище некоего ресурса, пока тот не закрыт. В единственном его методе close() объявляется логика закрытия этого ресурса. Пример – дескриптор открытого файла (ObjectOutputStream). Особенность этого интерфейса в том, что его применение позволяет использовать объект в языковой конструкции try-with-resource. Всё это появилось в Java версии 7. До Java 7 уже существовал похожий интерфейс – Closeable. Смысл его точно такой же. Он всё еще доступен в стандартной библиотеке для обратной совместимости, но в новом коде рекомендуется использовать AutoCloseable. Чтобы экземпляры старого Closeable тоже можно было использовать в try-with-resource, новый интерфейс был добавлен его родителем. Проблема старого интерфейса Closeable была в узости типа исключений, которые может выбрасывать close(). Ковариантность позволила расширить тип в базовом интерфейсе AutoCloseable с IOException до Exception. Еще одно отличие – контракт метода close(). Старый Closeable требует его идемпотентности, тогда как новый AutoCloseable разрешает методу иметь побочные эффекты. Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
993 просм.21 авг., 01:02
👩‍💻 Работа с Kafka через библиотеку Kafka Clients Приглашаем на открытый урок. 🗓 26 августа в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Java разработчик. Продвинутый уровень». Kafka Clients это нижний уровень для работы с Kafka из Java. Все более высокоуровневые библиотеки основаны на нем. Данный открытый урок проходит в рамках курса Java разработчик. Продвинутый уровень. О чем поговорим: ✔️ Чтение и отправка сообщений в Kafka ✔️ Управление топиками ✔️ Разные форматы: текст, JSON, Avro ✔️ Использование транзакций 🔗 Ссылка на регистрацию: https://vk.cc/d0EqSq Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1 065 просм.20 авг., 16:01
Как реализовать метод hashCode? Если вы переопределили equals(), то обязательно также переопределить и hashCode(). Это не просто теоретическое требование. Если класс нарушает это правило, хранение его экземпляров в качестве например ключей HashMap приводит к непредсказуемому поведению. Результат hashCode() должен быть одинаковый для равных в смысле equals объектов. Обычно для этого значение хэш-кода вычисляется на основе значений полей, которые участвуют в equals(). Но и возвращение одной и той же константы 42 для любого экземпляра класса тоже будет валидной реализацией. Результат hashCode() должен быть равномерно распределен. Это правило не такое строгое как остальные. Его нарушение не сломает программу, хотя может сильно ухудшить производительность. Поэтому константа 42 – допустимая, но не лучшая идея. Вместо этого все значения полей сначала приводятся к int: boolean превращается в любую пару констант, null в 0, для ссылочных типов берется их hashCode(). Затем все эти значения смешиваются с помощью бинарного оператора XOR (^). Дополнительно для лучшего распределения можно применять битовые сдвиги. Если вы владеете информацией о распределении значений полей в конкретно вашем случае, эту реализацию можно улучшить. Результат hashCode() должен быть одинаковый на протяжении времени жизни объекта. Если вычисление хэш-кода зависит от переменных значений, сохраните его значение во внутреннее поле при первом вызове. При следующих вызовах сразу возвращайте это закэшированное значение. Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
1 022 просм.20 авг., 15:24
1 132 просм.20 авг., 09:58
Как реализовать метод equals? Сначала нужно решить, действительно ли вам нужно переопределять equals(). Реализация по умолчанию делает объект равным только самому себе (сравнение на идентичность). Это имеет смысл, если у вашего класса не бывает отдельных, но логически одинаковых экземпляров. Если два экземпляра всё-таки могут быть равны, equals() нужно переопределять. Реализация должна соблюдать контракт: это отношение эквивалентности (рефлексивность, транзитивность, симметричность), ни один объект не равен null. Рефлексивность. первым делом проверим, не идентичен ли переданный объект текущему. Если да – сразу вернем true. Неравенство null. Если аргумент null – сразу вернем false. Симметричность. Если мы допускаем наследование и расширение метода equals(), в наследнике может появиться дополнительная логика, которая сделает !other.equals(this) при this.equals(other). Проще всего избежать этого, добавив сравнение типов. Если типы не равны – сразу вернем false. Почему не надо использовать instanceof. Транзитивность. Оператор == обладает свойствами транзитивности и симметричности. Далее мы сравниваем на равенство все примитивные свойства. Для ссылочных типов этими характеристиками по контракту обладает equals – для сравнения ссылочных типов пользуемся им. Речь здесь идет о логических свойствах. Фактически одно логическое свойство может быть представлено несколькими полями класса, или же может вычисляться на лету. Некоторые поля служат для внутренних технических нужд, и не имеют отношения к логическому состоянию. Такие поля обычно исключают из сравнения. Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
1 154 просм.19 авг., 22:37
1 222 просм.19 авг., 11:04
1 153 просм.18 авг., 10:13
Как написать иммутабельный класс? Immutable (неизменяемый) класс – это класс, состояние экземпляров которого невозможно изменить после создания. С иммутабельным классом всегда легче работать. Его состояние не поменяется, значит обращаться к нему в многопоточной среде можно без дополнительной синхронизации. Функции, зависящие только от состояния экземпляра будут возвращать один и тот же результат от вызова к вызову – это облегчает например реализацию hashCode(). Также вместо нескольких одинаковых экземпляров можно использовать один закэшированный объект, экономя память (паттерн Приспособленец). Шаги, которые необходимо предпринять, чтобы класс стал immutable: 1. Запретите расширение класса – либо объявите его final, либо закройте доступ наследникам ко всем способам мутации, перечисленным в следующих пунктах; 2. Сделайте все поля финальными; 3. Не выставляйте наружу методов-мутаторов, которые меняют состояние; 4. Не отдавайте наружу поля ссылочного изменяемого типа (объекты классов, массивы) – если объект под ссылкой не иммутабельный, должна возвращаться его глубокая копия (defensive copy); 5. Создавайте объект правильно (подробнее в следующем посте). Если вам нужны преимущества иммутабельного объекта, но также нужно иногда изменять его, подойдет подход copy on write: каждый метод-мутатор должен мутировать и возвращать не сам объект, а только что созданную его копию. Оригинал всё так же остается неизменным. Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
980 просм.18 авг., 01:01
Как инстанцировать экземпляр generic типа? Внутри класса class Foo на generic параметре T невозможно выполнить никакой оператор: нельзя взять его .class, нельзя применить его в instanceof. Также и вызов на нем оператора new приведет к ошибке. Причина этих ограничений кроется в стирании типов. Дженерик параметры правильно воспринимать скорее как ограничения типов, чем как конкретные типы. Эти ограничения действуют для более строгих проверок на этапе компиляции. В рантайме же информация о конкретных переданных типах-параметрах стирается. А все эти операторы выполняются именно в рантайме. Стандартный простой способ действия здесь – кроме значения типа T передавать еще и объект-дескриптор для этого типа, экземпляр класса Class. Объект может быть создан из дескриптора рефлекшеном. Но существует один хак, способный справиться со стиранием типов. Тип-параметр все-таки остается в одном месте в рантайме. Метод метакласса наследника определившего конкретный тип getGenericSuperclass() возвращает класс, которым параметризован родитель. Полезные ресурсы по Java 👩‍💻| Наш канал в Max 🟪
927 просм.18 авг., 00:13
1 133 просм.17 авг., 17:05
1 070 просм.17 авг., 10:59

Посты загружаются автоматически из канала. Администрация сайта не несёт ответственности за их содержание и размещённые в них ссылки.