fa
Feedback
Java Learning

Java Learning

رفتن به کانال در Telegram

№ 5079899194 Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/Java_per_month

نمایش بیشتر

📈 تحلیل کانال تلگرام Java Learning

کانال Java Learning (@java_per_month) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 16 840 مشترک است و جایگاه 7 875 را در دسته فناوری و برنامه‌ها و رتبه 39 996 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 16 840 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 14 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -142 و در ۲۴ ساعت گذشته برابر -12 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 7.58% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً N/A% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 1 276 بازدید دریافت می‌کند. در اولین روز معمولاً 0 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 2 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند learning, строка, map, static, интерфейс تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
№ 5079899194 Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/Java_per_month

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 15 ژوئن, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

16 840
مشترکین
-1224 ساعت
-327 روز
-14230 روز
آرشیو پست ها
Существует ли возможность перенаправить потоки стандартного ввода/вывода? Класс System позволяет вам перенаправлять стандартный ввод, вывод и поток вывода ошибок, используя простой вызов статического метода: • setIn(InputStream) - для ввода; • setOut(PrintStream) - для вывода; • setErr(PrintStream) - для вывода ошибок.

#вопросы_с_собеседований Spring Что подразумевается под конфигурацией контейнера на основе аннотаций? Вместо использования XM
#вопросы_с_собеседований Spring Что подразумевается под конфигурацией контейнера на основе аннотаций? Вместо использования XML для описания связывания компонента разработчик перемещает конфигурацию в сам класс компонента, используя аннотации в соответствующем объявлении класса, метода или поля. Это работает как альтернатива настройкам XML. Пример на картинке.

Как повысить качество передачи голоса через интернет? Об этом вас обязательно спросят на собеседовании, например, в сервис ст
Как повысить качество передачи голоса через интернет? Об этом вас обязательно спросят на собеседовании, например, в сервис стриминга. А еще зададут следующие вопросы: • Из чего складывается качество звука? • А измерение качества передачи речи? • В чём особенность использования динамиков вместо наушников? • Какие инструменты для измерения качества голоса и фоновых шумов существует и как ими пользоваться? Например, для оценки качества передачи речи используется метрика MOS, основанная на опросах, и алгоритмические метрики, позволяющие программно оценить MOS. Существуют референсные и безреференсные метрики — в VK Звонках используют ViSQOL и NISQA. Ответы на остальные вопросы ищите в статье от руководителя команды бэкенда VK Звонков по ссылке ниже. Читать статью

Сборщик мусора (Garbage Collector) должен делать всего две вещи: ☕️ Находить мусор - неиспользуемые объекты. (Объект считается неиспользуемым, если ни одна из сущностей в коде, выполняемом в данный момент, не содержит ссылок на него, либо цепочка ссылок, которая могла бы связать объект с некоторой сущностью приложения, обрывается); ☕️ Освобождать память от мусора. Существуют два подхода к обнаружению мусора: ☕️ Reference counting; ☕️ Tracing. Reference counting (подсчёт ссылок). Суть этого подхода состоит в том, что каждый объект имеет счетчик. Счетчик хранит информацию о том, сколько ссылок указывает на объект. Когда ссылка уничтожается, счетчик уменьшается. Если значение счетчика равно нулю, - объект можно считать мусором. Главным минусом такого подхода является сложность обеспечения точности счетчика. Также при таком подходе сложно выявлять циклические зависимости (когда два объекта указывают друг на друга, но ни один живой объект на них не ссылается), что приводит к утечкам памяти. Главная идея подхода Tracing (трассировка) состоит в утверждении, что живыми могут считаться только те объекты, до которых мы можем добраться из корневых точек (GC Root) и те объекты, которые доступны с живого объекта. Всё остальное - мусор. Существует 4 типа корневых точки: ☕️ Локальные переменные и параметры методов; ☕️ Потоки; ☕️ Статические переменные; ☕️ Ссылки из JNI. Самое простое java приложение будет иметь корневые точки: ☕️ Локальные переменные внутри main() метода и параметры main() метода; ☕️ Поток, который выполняет main(); ☕️ Статические переменные класса, внутри которого находится main() метод. Таким образом, если мы представим все объекты и ссылки между ними как дерево, то нам нужно будет пройти с корневых узлов (точек) по всем рёбрам. При этом узлы, до которых мы сможем добраться - не мусор, все остальные - мусор. При таком подходе циклические зависимости легко выявляются. HotSpot VM использует именно такой подход.

new vs valueOf Старайтесь всегда использовать метод valueOf вместо конструктора в стандартных классах-оболочках примитивных т
new vs valueOf Старайтесь всегда использовать метод valueOf вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение. Сейчас объясню, почему. Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти. Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.

🔥 Хотите создавать высококлассные приложения на Java? Осваивайте Spring! Начините изучать этот мощный фреймворк уже этой вес
🔥 Хотите создавать высококлассные приложения на Java? Осваивайте Spring! Начините изучать этот мощный фреймворк уже этой весной! 📢📢 25 апреля в 20:00 приходите на открытый урок «Свойства Spring-приложения». На встрече разберем, каким образом можно определять настройки приложения на чистом Spring, а также затронем тему конвертации типов. Спикером выступит преподаватель Александр Оруджев, Senior Software Engineer. 🟠Вебинар состоится в рамках запусках онлайн-курса «Разработчик на Spring Framework» в OTUS. Сейчас курс доступен в рассрочку. ➡️Для участия пройдите вступительный тест: https://otus.pw/X806/ Нативная интеграция. Информация о продукте www.otus.ru

В чём заключается различие между методами submit() и execute() у пула потоков? Оба метода являются способами подачи задачи в пул потоков, но между ними есть небольшая разница. execute(Runnable command) определён в интерфейсе Executor и выполняет поданную задачу и ничего не возвращает. submit() – перегруженный метод, определённый в интерфейсе ExecutorService. Способен принимать задачи типов Runnable и Callable и возвращать объект Future, который можно использовать для контроля и управления процессом выполнения, получения его результата.

Какой результат выдаст следующая программа?
Anonymous voting

photo content

Децентрализованный интернет: Как внедряют WEB 3.0 в России? IPFS — технология интернета будущего, которая полностью меняет наше представление о хранении и доступе к данным в сети. В видеообзоре специалист хостинга SpaceWeb расскажет: ▪️Чем IPFS отличается от существующего веб-протокола HTTP ▪️Какие проблемы пользователей решает IPFS ▪️Особенности и ограничения системы ▪️Как использовать IPFS на хостинге SpaceWeb Подпишитесь на SpaceWeb и узнайте больше о том, как развивается один из лидеров облачных технологий в России. Реклама: sweb.ru erid: 2VtzqwE4puV

#вопросы_с_собеседований Можно ли так реализовать метод equals? Нельзя, так как метод hashCode() не гарантирует уникальность
#вопросы_с_собеседований Можно ли так реализовать метод equals? Нельзя, так как метод hashCode() не гарантирует уникальность значения для каждого объекта. Но для сравнения экземпляров объекта Object такой метод допустим, так как там хешкод вычисляется на основании использовании адреса объекта в памяти, поэтому он уникален для разных объектов.

Что такое «зелёные потоки» и есть ли они в Java? Зелёные (легковесные) потоки(green threads) - потоки эмулируемые виртуальной машиной или средой исполнения. Создание зелёного потока не подразумевает под собой создание реального потока ОС. Виртуальная машина Java берёт на себя заботу о переключении между разными green threads, а сама машина работает как один поток ОС. Это даёт несколько преимуществ. Потоки ОС относительно дороги в большинстве POSIX-систем. Кроме того, переключение между native threads гораздо медленнее, чем между green threads. Это всё означает, что в некоторых ситуациях green threads гораздо выгоднее, чем native threads. Система может поддерживать гораздо большее количество green threads, чем потоков . Например, гораздо практичнее запускать новый green thread для нового HTTP-соединения к веб-серверу, вместо создания нового native thread. Однако есть и недостатки. Самый большой заключается в том, что вы не можете исполнять два потока одновременно. Поскольку существует только один native thread, только он и вызывается планировщиком ОС. Даже если у вас несколько процессоров и несколько green threads, только один процессор может вызывать green thread. И всё потому, что с точки зрения планировщика заданий ОС всё это выглядит одним потоком. Начиная с версии 1.2 Java поддерживает native threads, и с тех пор они используются по умолчанию.

💪 Пройди тест по Java и проверь свои знания. Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS
💪 Пройди тест по Java и проверь свои знания. Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса🎁 . ✍️ ПРОЙТИ ТЕСТ: https://otus.pw/LZji/ Реклама. Информация о рекламодателе на сайте otus.ru

#Вопросы_с_собеседования Можно ли использовать строки в конструкции switch? Да, начиная с Java 7 в операторе switch можно использовать строки, ранние версии Java не поддерживают этого. При этом: • участвующие строки чувствительны к регистру; • используется метод equals() для сравнения полученного значения со значениями case, поэтому во избежание NullPointerException стоит предусмотреть проверку на null. • согласно документации, Java 7 для строк в switch, компилятор Java формирует более эффективный байткод для строк в конструкции switch, чем для сцепленных условий if-else.

Новый тренд 2038 года - это игра TONight специально для разработчиков, где ты можешь писать код, развлекаться и зарабатывать
Новый тренд 2038 года - это игра TONight специально для разработчиков, где ты можешь писать код, развлекаться и зарабатывать криптовалюту. Помоги жителям города решить все их задачки за вознаграждение в TON! Переходи по ссылке и играй прямо в браузере: 👉 https://clck.ru/3485U5

Перечислите принципы, которым вы следуете в многопоточном программировании? При написании многопоточных программ следует придерживаться определённых правил, которые помогают обеспечить достойную производительность приложения в сочетании с удобной отладкой и простотой дальнейшей поддержки кода. • Всегда давайте значимые имена своим потокам. Процесс отладки, нахождения ошибок или отслеживание исключения в многопоточном коде – довольно сложная задача. OrderProcessor, QuoteProcessor или TradeProcessor намного информативнее, чем Thread1, Thread2 и Thread3. Имя должно отражать задачу, выполняемую данным потоком. • Избегайте блокировок или старайтесь уменьшить масштабы синхронизации. Блокировка затратна, а переключение контекста ещё более ресурсоёмко. Пытайтесь избегать синхронизации и блокировки насколько это возможно, и организуйте критическую секцию в минимально необходимом объёме. Поэтому синхронизированный блок всегда предпочительней синхронизированного метода, дополнительно наделяя возможностью абсолютного контроля над масштабом блокировки. • Обрабатывайте прерывание потока с особой тщательностью. Нет ничего хуже оставшегося заблокированным ресурса или системы в неконстистентном, по причине неподтверждённой транзакции, состоянии. • Помните об обработке исключений. Выброшенные InterruptedException должны быть адекватно обработаны, а не просто подавлены. Так же не стоит пренебрегать Thread.UncaughtExceptionHandler. При использовании пула потоков необходимо помнить, что он зачастую просто «проглатывает» исключения. Так, если вы отправили на выполнение Runnable нужно обязательно поместить код выполнения задачи внутрь блока try-catch. Если в очередь пула помещается Callable, необходимо удостоверится, что результат выполнения всегда изымается помощью блокирующего get(), чтобы в случае возникновения существовала возможнотсь заново выбросить произошедшее исключение. • Между синхронизаторами и wait() и notify() следует выбирать синхронизаторы. Во-первых, синхронизаторы, типа CountDownLatch, Semaphore, CyclicBarrier или Exchanger упрощают написание кода. Очень сложно реализовывать комплексный управляющий поток, используя wait() и notify(). Во-вторых, эти классы написаны и поддерживаются настоящими мастерами своего дела и есть шанс, что в последующих версиях JDK они будут оптимизированы изнутри или заменены более производительной внешней реализацией. • Почти всегда использование Concurrent сollection выгоднее использования Synchronized сollection, т.к. первые более современны (используют все доступные на момент их написания новшества языка) и масштабируемы, чем их синхронизированые аналоги.

⚡️MidJourney-5 теперь в Telegram без лимитов! Эта нейросеть в 173 раза мощнее первого поколения. Она умеет изображать всё что
⚡️MidJourney-5 теперь в Telegram без лимитов! Эта нейросеть в 173 раза мощнее первого поколения. Она умеет изображать всё что угодно — даже нарисовать вас в духе видеоигры, аниме, мультфильма или сериала. Нейросеть уже доступна бесплатно без всяких лимитов вместе с ChatGPT в закрепе официального канала: @midjourney5

Чем отличается процесс от потока? Процесс — экземпляр программы во время выполнения, независимый объект, которому выделены системные ресурсы (например, процессорное время и память). Каждый процесс выполняется в отдельном адресном пространстве: один процесс не может получить доступ к переменным и структурам данных другого. Если процесс хочет получить доступ к чужим ресурсам, необходимо использовать межпроцессное взаимодействие. Это могут быть конвейеры, файлы, каналы связи между компьютерами и многое другое. Для каждого процесса ОС создает так называемое «виртуальное адресное пространство», к которому процесс имеет прямой доступ. Это пространство принадлежит процессу, содержит только его данные и находится в полном его распоряжении. Операционная система же отвечает за то, как виртуальное пространство процесса проецируется на физическую память. Поток(thread) — определенный способ выполнения процесса, определяющий последовательность исполнения кода в процессе. Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах. Потоки могут исполнять один и тот же код и манипулировать одними и теми же данными, а также совместно использовать описатели объектов ядра, поскольку таблица описателей создается не в отдельных потоках, а в процессах. Так как потоки расходуют существенно меньше ресурсов, чем процессы, в процессе выполнения работы выгоднее создавать дополнительные потоки и избегать создания новых процессов.

Play Framework Play Framework позволяет легко разрабатывать расширяемые вебприложения на Java и Scala.

Play Framework Play Framework позволяет легко разрабатывать расширяемые вебприложения на Java и Scala.