Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Может ли статический метод быть переопределён или перегружен?

Перегружен - да. Всё работает точно так же, как и с обычными методами - 2 статических метода могут иметь одинаковое имя, если количество их параметров или типов различается.

Переопределён - нет. Выбор вызываемого статического метода происходит при раннем связывании (на этапе компиляции, а не выполнения) и выполняться всегда будет родительский метод, хотя синтаксически переопределение статического метода - это вполне корректная языковая конструкция.

В целом, к статическим полям и методам рекомендуется обращаться через имя класса, а не объект.
Ты опытный джавист, который устал сидеть дома за компом? Приходи на дискуссию о продуктовой Java-разработке в бар! Твоими собеседниками будут СТО Райффайзенбанка Сергей Мельников и ведущие подкаста «Мы обречены» — разработчик Фил Ранжир и журналист Артем Малышев.

На CIB OPEN BAR мы обсудим:
— Как не напороться на мучительный легаси-код и душную бюрократию?
— Правда ли, что теперь разработчики ищут стабильности?
— Как не перепутать стабильность со стагнацией?
— Что сейчас ценнее на рынке: умение писать идеальный код или вникать в сложную предметную область?

Ждем тебя 20 июля в 20:00 в Powerhouse Moscow. Участие бесплатное. Регистрируйся: https://clck.ru/WBgAi
Java Performance (2020)
Автор: Scott Oaks
Количество страниц: 450

Кодинг и тестирование обычно рассматриваются как отдельные области. В этой практической книге эксперт по Java Скотт Оукс придерживается подхода, согласно которому любой, кто работает с Java, должен понимать, как работает код в виртуальной машине, включая настройки, которые могут повысить производительность. Данное обновленное второе издание поможет вам получить глубокие знания о производительности приложений Java, используя как JVM, так и платформу Java.

Скачать книгу
Наверняка вы слышали о важности тестирования и о библиотеках для соответствующего тестирования — на Java таких полно.

Однако сама сфера тестирования очень разнообразна. На виртуальном митапе #X5meetup эксперты из Х5 Group, Home Credit Bank и Райффайзенбанк обсудят виды тестирования, поделятся опытом и ответят на ваши вопросы.

Митап пройдет онлайн 29 июля с 18:00 до 20:30. Подробная программа и регистрация здесь: https://proglib.io/w/498dccc8
#вопросы_с_собеседований
Stack считается «устаревшим». Чем его рекомендуют заменять? Почему?
Stack был добавлен в Java 1.0 как реализация стека LIFO (last-in-first-out) и является расширением коллекции Vector, хотя это несколько нарушает понятие стека (например, класс Vector предоставляет возможность обращаться к любому элементу по индексу). Является частично синхронизированной коллекцией (кроме метода добавления push()) с вытекающими отсюда последствиями в виде негативного воздействия на производительность. После добавления в Java 1.6 интерфейса Deque, рекомендуется использовать реализации именно этого интерфейса, например, ArrayDeque.
#вопросы_с_собеседований
В чем разница между HashMap и WeakHashMap? Для чего используется WeakHashMap?
В Java существует 4 типа ссылок: сильные (strong reference), мягкие (SoftReference), слабые (WeakReference) и фантомные (PhantomReference). Особенности каждого типа ссылок связаны с работой Garbage Collector. Если объект можно достичь только с помощью цепочки WeakReference (то есть на него отсутствуют сильные и мягкие ссылки), то данный объект будет помечен на удаление.

WeakHashMap - это структура данных, реализующая интерфейс Map и основанная на использовании WeakReference для хранения ключей. Таким образом, пара «ключ-значение» будет удалена из WeakHashMap, если на объект-ключ более не имеется сильных ссылок.

В качестве примера использования такой структуры данных можно привести следующую ситуацию: допустим имеются объекты, которые необходимо расширить дополнительной информацией, при этом изменение класса этих объектов нежелательно либо невозможно. В этом случае добавляем каждый объект в WeakHashMap в качестве ключа, а в качестве значения - нужную информацию. Таким образом, пока на объект имеется сильная ссылка (либо мягкая), можно проверять хэш-таблицу и извлекать информацию. Как только объект будет удален, то WeakReference для этого ключа будет помещен в ReferenceQueue и затем соответствующая запись для этой слабой ссылки будет удалена из WeakHashMap.
В WeakHashMap используются WeakReferences. А почему бы не создать PhantomHashMap на PhantomReferences?

PhantomReference при вызове метода get() возвращает всегда null, поэтому тяжело представить назначение такой структуры данных.
Проверьте себя в Java-квизе от команды из банковской практики Luxoft

Участвуйте в квизе с 14 по 27 июля, отвечайте правильно и быстрее всех на 10 вопросов и выигрывайте классные призы: смарт часы, аккумуляторы и футболки!

Ищите ссылку на квиз здесь

Все новости, видео прошедших митапов и анонсы предстоящих, вакансии и многое другое в Телеграм-канале Luxoft
#вопросы_с_собеседований
В каком регистре лучше писать HTML-код?
Весь HTML-код рекомендуется писать в нижнем регистре: это относится к названиям элементов, названиям атрибутов, значениям атрибутов (кроме текста/CDATA), селекторам, свойствам и их значениям (кроме текста).

Не рекомендуется

<A HREF="/">Домой</A>

Рекомендуется

<img src="forest.jpg" alt="Лес">
26 июля пройдет онлайн-митап о хакатоне CRM Hack

Российский ИТ-разработчик - Т1 Консалтинг готовится к запуску CRM нового поколения. Участникам хакатона нужно предложить MVP самостоятельных решений, которые в будущем смогут стать функциональными модулями системы. Призовой фонд хакатона 500 000 руб, прием заявок до 5 августа.

На митапе эксперты Т1 Консалтинг подробнее расскажут о функционале будущей CRM и технологической платформе, на которой будет строиться система.

Митап будет интересен как участникам, которые уже зарегистрировались на хакатон, так и тем, кто только думает об участии или слышит о CRM Hack впервые.

Для чего участвовать: узнать подробнее о задачах хакатона и задать вопросы по участию

📆 Регистрируйся и добавляй в календарь: crmhack.ru
📣📣📣 Java Hiring Week
26-30 июля, 2021 | онлайн

Мы приглашаем Java разработчиков уровня Middle/Senior/Lead/Architect с опытом работы от 2 лет стать частью нашей команды экспертов EPAM Anywhere.

Пройди техническое интервью и в течение 48 часов получи предложение присоединиться к EPAM Anywhere и бонус до 375 000 руб!
Сумма бонуса фиксирована независимо от оклада.

Хочешь узнать больше? Заполни регистрационную форму и узнай о платформе EPAM Anywhere и Java Hiring Week!
📌Зарегистрироваться -> https://epa.ms/1ZkHcl
Semaphore – это новый тип синхронизатора: семафор со счётчиком, реализующий шаблон синхронизации Семафор. Доступ управляется с помощью счётчика: изначальное значение счётчика задаётся в конструкторе при создании синхронизатора, когда поток заходит в заданный блок кода, то значение счётчика уменьшается на единицу, когда поток его покидает, то увеличивается. Если значение счётчика равно нулю, то текущий поток блокируется, пока кто-нибудь не выйдет из защищаемого блока. Semaphore используется для защиты дорогих ресурсов, которые доступны в ограниченном количестве, например подключение к базе данных в пуле.
#вопросы_с_собеседований SQL
Что лучше использовать: JOIN или подзапросы?
Java — один из популярнейших языков программирования. От программ для пылесоса и смартфона до серверных приложений в больших корпорациях — технологии Java есть практически везде.

Узнай больше о возможностях применения языка на онлайн-лекции «Зачем изучать Java и как делать это эффективно» — и создавай IT-решения в сфере fintech, big data и для других сфер бизнеса.

Когда: 28 июля в 16:00
Где: на YouTube-канале NIX
Спикер: Елена Хацько, Java Developer Lead в NIX

В программе:
● Java: актуальность, перспективы и популярность направления;
● где и как используется Java;
● как проходит учеба в NIX и как попасть на бесплатную программу обучения по Java.

Присоединяйся по ссылке.


Для кого:
● студентам и выпускникам технических специальностей;
● начинающим разработчикам;
● всем желающим построить карьеру в IT.

Java — твой идеальный путь к успеху в IT!
Обычно лучше использовать JOIN, поскольку в большинстве случаев он более понятен и лучше оптимизируется СУБД (но 100% этого гарантировать нельзя). Так же JOIN имеет заметное преимущество над подзапросами в случае, когда список выбора SELECT содержит столбцы более чем из одной таблицы.

Подзапросы лучше использовать в случаях, когда нужно вычислять агрегатные значения и использовать их для сравнений во внешних запросах.
Как начать развиваться в профессиональной кибербезопасности?

Команда практикующих безопасников школы HackerU приглашает вас на новый интенсив «RED, BLUE & APPSEC»

Что будет на интенсиве?

— 3 дня практических занятий онлайн по трем направлениям ИБ
— Разбор основных инструментов и техник анализа безопасности кода
— CTF-турнир
— Расскажем о карьерных лайфхаках на рынке ИБ и существующих программах обучения

Для всех участников интенсива будут доступны бонусы % на курсы по кибербезопасности от HackerU!

Записывайтесь на интенсив по ссылке и начните свой путь в кибербезопасности: https://is.gd/MbjdQn