Java Developer
6.45K subscribers
235 photos
8 videos
12 files
279 links
MAKE JAVA GREAT AGAIN

Мемы: @java_memes
加入频道
Какой таск менеджер используете?
Anonymous Poll
71%
Jira
5%
Trello
5%
Yandex Tracker
4%
Redmine
15%
Другой
рубрика "нерегулярные заметки"

Как удалить все локальные ветки #Git

git branch --merged | grep -v \* | xargs git branch -D
Forwarded from microJUG (Zheka Kozlov)
🤯 Данный код является валидным кодом на Java 19+ и компилируется.

Почему так:
1. Первый When – это имя класса.
2. Второй when – имя переменной (имеет тип When).
3. Третий when – это новое ключевое слово в Java 19, которое является контекстно-зависимым.
4. Четвёртый when – это имя переменной, которая была объявлена (см. пункт 2).
5. Пятый when() – метод класса When, возвращающий boolean.
6. Шестой when() – метод текущего класса.

#java19
Анонимная джава-перепись. Кто где?
Anonymous Poll
53%
В РФ
20%
В СНГ
15%
В Европе
12%
В других странах
https://www.youtube.com/watch?v=Au3z_kQd9QY
Предложения Брайана Гётца, которые упростят вход для начинающих джавистов.
1. Безымянные классы (весь файл кроме импортов по сути описание некого класса)
2. Упрощение сигнатуры метода main. модификаторы (public static), входные аргументы (String[] args) - опциональны
3. Автоматический импорт некоторых статических методов из jdk (println, readln).

Все это приведет к тому, что ребята, которые только учатся программировать, не офигеют от написания самой простой программы на Java, а постепенно смогут изучать концепты.
Ответ: "test"
Способ вычисления хэша map, set, list - это часть контракта соответствующих интерфейсов. Каждая реализация должна использовать формулу, указанную в контракте. Поэтому поведение будет общим для всех JDK.
Посмотрим теперь, какой же контракт и конкретные формулы для подсчета хеша у мапы.

"The hash code of a map is defined to be the sum of the hash codes of each entry in the map's entrySet() view."

Посмотрим, как вычисляется хешкод у Map.Entry:
"The hash code of a map entry e is defined to be:
(e.getKey()==null ? 0 : e.getKey().hashCode()) ^
(e.getValue()==null ? 0 : e.getValue().hashCode())"

Зная это, мы можем посчитать хешкод нашей мапы: он будет равен 0. Почему? Так как у единственной Map.Entry совпадают значения ключа и значения, то их хешкоды будут совпадать, а значит хешкод Map.Entry будет равен 0 (XOR двух одинаковых чисел дает всегда 0).
После добавления второго Map.Entry хешкод останется равным 0, так как там тоже совпадают значения ключа и значения. Повезло, повезло.
В итоге при вызове метод get будет искать Map.Entry в нужном бакете и, встретив нужную ноду, вызовет equals, который вернет true, так как при вставке значение ключа не копируется, и он будет отображать все изменения, которые с ним происходили.

Естественно, изменять ключ после вставки в HashMap крайне не рекомендуется, иначе потом можно его не найти. Но в данном конкретном случае нам повезло, что хешкод не изменился.
Наконец-то! Теперь в новой версии IntelliJ IDEA после открытия проекта не нужно ждать две недели пока он проиндексируется.

Ещё JetBrains улучшили новый интерфейс. Например, есть комппактный режим, который будет полезен для тех, кто прогает за маленькими экранами. Плюс добавили ускоренный импорт Maven-проектов, фоновые проверки коммитов и прочие приятности
Лайфхак «как удвоить свою зарплату»

https://www.youtube.com/shorts/x71Rm0MWVHY
Похоже, что в JDK 21 появится интерполяция строк

https://openjdk.org/jeps/430
Forwarded from Mobile Developer (Алексей Гладков)
Пс, там на канале у Kotlin вышли все видео с KotlinConf!
https://www.youtube.com/@Kotlin/videos

Срочно бежим смотреть
Apache Kafka.docx
11.2 MB
конспект лекции по основам #Kafka

(спасибо @AnastasiiaZentsova)
Рылся тут у себя, обнаружил футболку раритетную.

Периода приблизительно этого

https://web.archive.org/web/20070630041521/http://developers.sun.com/