Этого треда уже нет.
Это копия, сохраненная 3 декабря в 08:47.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java Thread №272 /java/ 3247368 В конец треда | Веб
Вики по джаве: https://github.com/java2ch/java-thread/wiki (доступна для редактирования всем)
Предыдущий: >>3229037 (OP)
2 3247373
Вот скажите мне, на собесах на крудошлепа на спринге/жаба ее вопросы на многопоточку вообще имеют какую-то практическую ценность?
Вот общался с 5 собеседующими. 4 из них спрашивали по многопоточке. Спрашиваю, а вы в работали с многопоточкой на практике? Все 4 отвечают - нет, никогда. В анкетах перед собесами тоже спрашивают про многопоточку наравне с микросервисами - работали ли вы.
Сейчас вот перед еще несколькими грядущими собесами вспоминаю что раньше читал по многопоточке и новое узнаю.
Но есть ощущение, что это просто ради собеса. Даже бесполезнее в реальной работе, чем с литкодами.
Раньше было желание прочитать книгу с поездами и добить какими то главами из более свежих книг, чтобы преисполниться. А теперь кажется, что чисто голову себе забью и забуду что-то полезное.
3 3247376
>>47373
1. Проект на который ты попадёшь будет работать в нескольких потоках. В таком случае пригодится каждая буква из книги с поездами. Либо придётся не спать ночами из-за неадекватных багов, даже если многопоточность ограничивается одним классом.
2. Проект, на который ты попадёшь будет работать только и только в одном потоке. В таком случае тебе придётся решать только те многопоточные баги, что можно решить однопоточной логикой. Сравнить это можно с тем, что в динамикодрисне ошибок типов мало, но многие баги можно было бы свести к ошибкам типов. Также и там, тебе придётся решать однопоточные баги что решились бы пониманием многопоточки.
4 3247378
О, нейродрочер ушёл которвй кружку джавы генерил.
5 3247380
>>47378
Может он бы и перекатил через некоторое время. Я просто решил побыстрее перекат сделать чтобы щитпост перекат на петухлин не висел долго слишком.
6 3247411
>>3246924 →
Понимаю что их много, но мне не совсем это интересно.
Вот у меня есть идея сделать сервис, что бы можно было демонстрировать свой экран(вести стрим).

Или мне нужно сделать какое либо тестовое задание, ума не приложу как начинать его делать.

Может есть книги какие ни будь про архитектуру ? (Кроме Чистой Архитектуры )
7 3247532
>>47373

>Вот скажите мне, на собесах на крудошлепа на спринге/жаба ее вопросы на многопоточку вообще имеют какую-то практическую ценность?


Наибольшую.
Какие у меня бывали проблемы на проде не из-за конкарренси багов: васе пупкину или сервису васи пупкина показали ошибку, он побухтел, принес лог, всё починили
Какие бывали проблемы на проде из-за конкарренси багов:
- послали две машины на объект вместо одной
- вася пупкин каким-то образом попал в сессию коли жопина
- по ошибке отправилось 2 письма "срочно продавайте алюминий нахуй". Алюминий продали дважды нахуй
- ручку дернули 1 раз, в кафку записалось трижды, в базу дважды
172348793712654881.jpg109 Кб, 1080x1248
8 3247593
>>3247535 →
Только результаты, что-то, не особо впечатляющие. 58 мс инпут лаг, пиздец. Это на каком мониторе on next frame? 15 герц?
9 3247604
Здарова, начинал учиться с верстки, понял, что фронтенд не мое, попробовал пайтон, он мне не очень зашел, скриптовый язык, вкатунов больше всего, перешел на пхп, у него какая-то странная типизация, как-то совмещаешь и фронтенд и бекенд вместе почти, ну как, скрипты пхп можно писать прям вместе с хтмл скелетом, да и на нем вакансии говно, либо битрикс, либо древний легаси, с кучей индусов да и каждый пишет как хочет, нет строгих правил, либо говносайтики на вордпрессе клепать для мелких кабанчиков, никаких ci/cd, никто стартапы на нем не пишет, перекатился на джаву, сначала чуть привыкнул, потом очень зашло, почитал гайд для вкатунов, там была строчка - фриланс это клепать моды на Майнкрафт школьникам за 250 рублей, либо работать на галере, куча финтех контор, огромное легаси, которое не переписывали с 2008, но это нужное легаси и платят хорошо, работы много и всегда будет, плюс засчет строгости языка, легаси поддерживать проще, чет говно какое-то подумаете, а у других еще хуже, и я с этим согласен. Да и сам синтаксис крутой, строгий язык загоняет в рамки и заставляет писать правильно, не нужно думать как бы так смоделировать проект, чтобы было легко поддерживать и расширить, все было просто, в джаве это будто встроено, сложно написать херню, да и все проблемы видны еще даже до компиляции, он многословный и его легко читать, пока все нравится
10 3247616
>>47604
Так держать, cumrad!
11 3247640
https://github.com/oracle/graal/issues/8350
Мысли, мнения коллеги?
12 3247663
>>47640
А сам как думаешь?
cool.webm156 Кб, webm,
640x360, 0:02
13 3247668
JVM и байт-код 14 3247680
Неделю назад побаловался javap'ом.

У меня сложилось впечатление, что никакого байт-кода не существует, а есть лишь набор таблиц:
1) таблица с двумя столбцами, где в каждой строке первый элемент есть условный номер, а второй - строка, соответствующая классу, простому типу или методу.
2) таблица из двух столбцов, где в первом столбце есть какая-либо строка с командой в стиле ассемблера(mov, cmp, jmp), а во втором столбце строка(номер) из первой таблицы.
15 3247685
>>47680
Я не понял.
Байткод есть, и описание инструкций например описаны здесь https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-6.html
javac компилит каждый класс в такой байткод
16 3247688
>>47376

>Проект на который ты попадёшь будет работать в нескольких потоках


С которыми ты НИКОГДА не будеш взаимодействовать. Тебя нужно отмудохать по пальцам молотком, если попытаешся.

>>47532

>вася пупкин каким-то образом попал в сессию коли жопина


КАК. ТЫ. ЭТО. ДЕЛАЕШЬ. СКОТИНА.

>послали две машины на объект вместо одной


>по ошибке отправилось 2 письма "срочно продавайте алюминий нахуй". Алюминий продали дважды нахуй


>ручку дернули 1 раз, в кафку записалось трижды, в базу дважды


Тебя должны отпиздить ногами два византийских генерала.
17 3247690
>>47680
>>47680
IPv6 (Internet Protocol version 6) — это следующая версия интернет-протокола, которая была разработана для решения проблемы дефицита IP-адресов, вызванной стремительным ростом числа устройств, подключённых к интернету. В отличие от IPv4, использующего 32-битные адреса, IPv6 предлагает 128-битные адреса, что позволяет значительно расширить количество доступных адресов и поддерживать большее количество подключений. Ключевые преимущества IPv6 включают усовершенствованную маршрутизацию, улучшенную безопасность и более стабильную работу в мобильных сетях. Поэтому понимание «что такое IPv6» важно для дальнейшего развития глобальной интернет-сети. Смотри здесь больше: https://www.rapidseedbox.com/ru/blog/what-is-ipv6
18 3247735
>>47593
Если поддерживаешь Россию - пользуйся Z.
19 3247773
>>47688
Что ты высрал, чмо?
20 3247793
>>47640
Чёт какая-то хуйня без задач.
21 3247875
>>47735
Если поддерживаешь Россию - пользуйся ZGC
22 3247932
>>47532
>>47376
Еще раз напоминаю - сейчас речь про тех, кого берут писать обычные круды на фреймворке.
Как сказал другой анон выше, многопоточный код всегда хорошо инкапсулирован в фреймворках и внешних сервисах(базы, брокеры, объектные хранилища, етк).
Я ни разу не слышал про протекшую оттуда абстракцию.
А писать самому многопоточный код внутри фреймворка противоречит флоу его использования.
И когда у тебя спрашивают какие-то особенности примитивов синхронизации или работы forkjoinpool, то не ты, ни собеседующий никогда руками в продакшен коде их не писали. Это типа той самой базы, которую должен знать всякий уважающий себя программист.
23 3247934
>>47735
>>47875
Вот вы все смеётесь, пока не придётся вместо джавоёбства Zigовать.
24 3247935
>>47593
Я думал у вскода меньше инпутлаг, чем у идеи. Оказывается идея менее тормозная.
25 3248022
>>47935
У идеи проблемой не инпут лаг является, а просто лаг, от нескольких секунд до получаса когда тебе нужно переустановить идею из-за очередного неисправимого бага.
26 3248089

>юзать идею, когда есть эклипса

27 3248304
Java core Хорстмана 13 издание с жава 21 уже два тома 1400 и 1700 старниц на английском.
А 11 издание по жава 11 было по 900 и уже было дохуя. Еле дочитал.
Интересно как 1700 страниц в томе может в бумаге выглядеть?
28 3248305
>>48304
Не, гоню. Это в идиотском киндловском формате. В бумаге там даже уменьшилось 840 и 900 страниц. Что же убрали то. Может свинг?
29 3248348
>>48304
Волшебная обезьяна предлагает тебе купить за 25050 рублей книгу на 25 тысяч страниц, после вдумчивого прочтения которой ты гарантированно найдёшь работу сеньором. Согласишься?
17235509740980.png12 Кб, 529x137
30 3248427
>>48348
Мне и так сегодня работу ведущим! разработчиком предложили.
За 190тысяч. Почет! Уважение! Деньжищи!
telegram-cloud-document-2-5321145522587717794.mov249 Кб, mp4,
960x632, 0:02
31 3248584
>>47934

>Вот вы все смеётесь, пока не придётся вместо джавоёбства Zigовать.


Я в Германии живу, тут так принято.
32 3248594
>>48427
что такое горизонтальный рост? и в чем разница между просто зп и с выходом на проект?
33 3248601
>>48594
Какие-то галерные изъебства. Наверно про смену проекта и бенч. Даже спрашивать не стал. С суммы и должности кекнул и отказал.
34 3248611

>>324842


Что нужно написать в резюме что бы такие же предложения делали)
35 3248617
>>48611
2.5 года опыта на спрэнг фреймворке.
36 3248661
>>48601

>>галерные изъебства. Наверно про смену проекта


В галерах часто это не смена, а совмещения.
Тебе говорят ну ты там работай 4 часа на одном проекте 4 на другом. При этом ПМ каждого будет думать что ты должен работать на его проекте по 8 и че то валоебишь. а продавать тебя будут как фултайм на каждом все равно
Потом переведут на третий, а первый типа в поддержке, баги иногда поправить. А там багов будет дохуя, и на тебя будут переводить даже если сломал кто то другой. Фичу ж ты пилил - ну вот и чини. А заодно и добавь чутка функционала (переписав полпроекта)
37 3248662
>>48661
В аутсорсе у нас так было. Вот особенно хуйня с багами. Кранч на текущем проекте, а там критический баг на завершенном, который на поддержке. И пиздарики. Тебя менеджеры мозг выносят. Но так как все свои это не особо большая проблема.
А на аутстафе думаю еще хуже. А та галера как раз аутстаф.
38 3248684
>>47934
Не придется, Zig это говно сырое.
39 3248782
>>47373
Блять, а меня заебало другое. Разбираешь глубоко во всей этой хуйне, пересмотришь несколько роликов, почитаешь хабр. Узнаешь про разные необычные штуки: sequential consistency, safe publication, cache coherence. А потом через месяц забываешь нахуй всю эту неиспользуемую пиздолу и сидишь такой додик на собесе и не можешь вспомнить как синхронизаторы работают.
40 3248988
Вы скачали плагин Classic UI или ебёте глаза новым поделием?

Сегодня Idea и DataG.Rip снова вспомнили о санкциях и не обновляются в РФ (без применения насилия).
41 3249006
>>48782
С десятого раза запомнится, не парься.
42 3249015
>>48988
Какой нахуй плагин,наркоман,это меняется галочкой в самой идее
43 3249018
>>49015
хуялочкой

Официальный плагин жидбрейнсов
44 3249466
ПИШЕШЬ КОД
@
ВСЕ РАБОТАЕТ
@
ТЕСТЫ ПРОХОДЯТ
@
СОБИРАЕШЬ JAR
@
ДЕПЛОИШЬ
@
НИХУЯ НЕ РАБОТАЕТ

>write once run everywhere


Пиздец жопа сгорела. Как блядь достать произвольный список папок из ресурсов чтобы это работало везде?
45 3249483
>>49466

> Как блядь достать произвольный список папок из ресурсов чтобы это работало везде?


Что?
46 3249496
>>49483
Кладу в src/main/resources папку pisya.
В нее кладу папки popa1 и popa2.
В них кладу какие-то еще файлы.
Компилироваю.
Хочу достать папки popa1 и popa2 из класспаса и все их содержимое (не вперемешку, а по очереди, потому что мне нужны имена папок popa1 и popa2).
47 3249500
>>49496
Ты имеешь в виду все файлы из папок popa1 и popa2 ложатся в корень? Попробуй попердоль мавен ресурс плагин.
48 3249503
>>49500
Нет, собирается все правильно.
Я использую PathMatchingResourcePatternResolver с паттерном "classpath:pisya/" и локально это работает.
При запуске из джарника это не работает, и надо указывать "classpath:pisya/
/".
Можно искать просто "classpath:pisya", если у полученного таким образом ресурса получить InputStream и прочитать, там вернется список вложенных файлов, то есть "popa1\npopa2\n". Но опять же, это работает только локально, в джарнике возвращается пустая строка.
49 3249505
>>49503
Ой блядь, все звездочки попердолило. В первом случае должно быть так, дальше очевидно уже: "classpath:pisya/*"
50 3249511
>>49503

> только локально


Что значит только локально? Ты в любом случае компилируешь джарник чтобы его запустить.
51 3249513
>>49511
Тесты до сборки джарника запускаются.
52 3249515
>>49513
У тестов и ресурсы свои, как бы.
53 3249516
>>49515

>write once run everywhere


О том и речь.
54 3249558
>>49516
Ну и каким образом разделённые ресурсы противоречат write once run everywhere, еблан?
55 3249571
>>49558

>разделённые


Нихуя не понял про что ты, но речь о том, что надо написать два разных метода если код запускается из тестов или из джарника, что вообще не имеет смысла, потому что тесты нихуя не тестят в итоге.
56 3249574
>>49571
Ты бы хоть конкретный код принёс, вместо того чтобы просто кукарекать, петушара. Сдаётся мне ты просто долбоёб, потому что я никогда не сталкивался с различным поведением в тестах и вне, помимо очевиднейшего.
57 3249606
>>49574
https://pastebin.com/2UtYqkG6
mvn test
mvn package && java -jar target/*.jar
58 3249607
>>49606
Чё ты мне один файл кидаешь? Ты весь проект пости, вместе с этими несчастными ресурсами.
image.png16 Кб, 271x353
59 3249610
>>49607
Отклеилось
60 3249612
>>49610
Я не собираюсь это говно заново создавать, потом ещё ныть будешь что не так всё создал. Зип архив запакуй и шли мне.
01100110010.png821 Кб, 1570x891
61 3249978
Тред наелся и спит
image.png92 Кб, 735x256
62 3250257
Двощ, что это такое? Почему я делаю какой-то недоЭкземпляр объекта ?
63 3250259
>>50257
Интерфейса*
быстрофикс
64 3250261
>>50257
Конкретный вопрос в чём?
65 3250290
>>50261
Как называется то, что я создаю на основе интерфейса.
Chemisrtry chemistry
66 3250302
>>50290
Переменная типа Chemisrtry ("пульт от ТВ", который может включать SukaPomogite инстанс)
мимо
image.png79 Кб, 256x256
67 3250310
68 3250313
>>50257
Почему после появления чатжпт такие вопросы все еще бывают?
69 3250316
>>50290
имплементацию ты создаешь на основе интерфейса
А на скрине ты ничего не создаёшь, ты объявляешь ссылку в никуда, в которую можно записать адрес любого объекта, имплементирующего этот интерфейс
70 3250317
>>50316
Там у него даже не интерфейс, а класс, с которым он пишет implements
71 3250320
>>50316
Спасибо большое, теперь понятно
72 3250321
>>50313
Я дед среди зумеров
73 3250330
>>50321
Ты спрашиваешь такие вещи, которые есть в каждом учебнике по core. Иди читай, бездельник
74 3250357
>>50316

> имплементацию


> имплементирующего


Порридж, плиз.
75 3250370
>>50330
Я не нашел!!!!!
76 3250373
>>50357
одинэсник с контурами, ты?
реализация так-то тоже нерусское слово
77 3250374
>>50373
Я не за срусскость борюсь, а за некосноязычность. Имплементация звучит отвратительно, чистый каргокультизм.
78 3250379
>>50374
алё, все термины в отрасли каргокультизм, с добрым утром
кроме переменной разве что
79 3250381
>>50379
Например?
80 3250420
>>50379

>array - массив


>boolean - логическая (переменная)


>int - целочисленная (переменная)


>if-else branching - если-то разветление


>void - пустая (функция)


>exception throwing - выбрасывание исключений


Как минимум. Конечно, те же свитчи зовут свитчами, функции процедурами функциями, матрицы матрицами, но твой ряя каргокульт не так силён, как ты думаешь.
Порридж мог сказать "класс, реализующий интерфейс" и ни одно ебало не раскрыло бы своё хлебало, потому что всем насрать на то, что реализация - не русское слово. Вместо этого всех ебёт, как поток дерьма изо рта звучит и читается.
81 3250426
Как вызвать метод из другой виртуальной машины с приемлемым перформансом?
82 3250430
>>50420

>>boolean - логическая (переменная)


>>void - пустая (функция)


>>if-else branching - если-то разветление


точно нет, хватить коупить уже
83 3250447
>>50257
Грубо говоря:
1) интерфейс - это просто правило, какие функции(методы) должны быть внутри того класса, который реализует интерфейс.
2) класс - это уже тип.
У классов бывают объекты, а потому можно делать переменные типа класса.
Интерфейс означает, что тот или иной класс должен иметь определенные функции(методы).
Но есть некоторое исключение - функциональные интерфейсы.
Если делать более конкретное сравнение, то:
Класс содержит описание методов(код, что будет выполняться при вызове метода) и какие-либо переменные, а интерфейс лишь объявляет, что должен содержать тот класс, который реализует тот или иной интерфейс. Так как взаимодействие с содержимым объекта с точки зрения ООП нужно делать через методы, то выходит так, что интерфейс лишь задаёт правило, которое состоит в наборе обязательных к описанию внутри класса методов.
84 3250449
>>50426
Я, увы, не так крут для такого, но дам лишь несколько идей:
1) посредством сокетов реализовать взаимодействие виртуальных машин(процессов) и через эти сокеты вызывать и передавать результат.
2) посредством нативных методов(тут уже нужны знания c/c++) сделать общую память, в которой должно быть место для семафора, аргументов метода и результатов, и вызывать через семафоры.
85 3250453
>>50374

> Я не за срусскость борюсь, а за некосноязычность. Имплементация звучит отвратительно, чистый каргокультизм.


Причем тут «косноязычие» и то, как тебе там что-то не звучит? Это вопрос только стиля и твоих ощущений. На второе всем насрать по-умолчанию, первое в айти значения не имеет.
86 3250454
>>50453

> На второе всем насрать по-умолчанию. Яскозал!


> первое в айти значения не имеет. Яскозал!


Ясн.
87 3250456
>>50420

>Это нерусское слово хорошее, потому что я привык к нему


>Это плохое, потому что я не привык к нему


Дебил бля...
88 3250461
>>50426
Aeron
89 3250462
>>50420

> >boolean - логическая (переменная)


> >int - целочисленная (переменная)


> >if-else branching - если-то разветление


> >void - пустая (функция)


> >exception throwing - выбрасывание исключений


Так никто не говорит и звучит это плохо.
91 3250465
>>50447

> Но есть некоторое исключение - функциональные интерфейсы.


В чем исключение? Метод просто один
92 3250472
>>50456
Косноязычный додик, выучи разницу между "непривычно" и "косноязычно".
93 3250478
>>50465
Можно сделать переменную типа функционального интерфейса и присвоить ей лямбду.
94 3250484
>>50472
Я отвечаю на посты, в которых утверждается, что консноязычие определяется субъективной оценкой одного конкретного долбоеба

> Я не за срусскость борюсь, а за некосноязычность. Имплементация звучит отвратительно, чистый каргокультизм.



Так что твой пост больше подходит в ответ ему. Хотя любой образованный человек (и не промытый совковым прескриптивизмом) понимает, что аппелировать к словарю и определениям не имеет смысла, потому что в высказывании определение истиннонстью или ложностью не обладает. Грубо говоря, высрать универсалию для конкретного термина можно любую.

Такая кринжевая языковая заносчивость от быдла сразу должна порицаться, потому что поправлять людей, когда всем все понятно и когда речь о сфере, где это нормально, будет только конченный мудак
95 3250485
>>50484

> Так что твой пост больше подходит в ответ ему. Хотя любой образованный человек (и не промытый совковым прескриптивизмом) понимает, что аппелировать к словарю и определениям не имеет смысла, потому что в высказывании определение истиннонстью или ложностью не обладает. Грубо говоря, высрать универсалию для конкретного термина можно любую.


Что блядь?

> Такая кринжевая языковая заносчивость от быдла сразу должна порицаться, потому что поправлять людей, когда всем все понятно и когда речь о сфере, где это нормально, будет только конченный мудак


Одно дело понять, а другое дело понять без отвращения. И порицаться должно как раз извращение слов без практической пользы из мотивов каргокультизма.
96 3250487
>>50478
Ну а где исключение, лямбда позволяет тебе использовать меньше слов для описания этого класса, да и всё
97 3250496
>>50485

> Одно дело понять, а другое дело понять без отвращения. И порицаться должно как раз извращение слов без практической пользы из мотивов каргокультизма.


Отвращение это не объективный критерий. Объективным может быть только вывод частотности употребления из уже сложившейся привычки. Так мы можем сказать, вошло ли какое-то слово в привычку, или нет. Имплементация используется по аналогии с прямыми кадьками других предикатов, ничего особенного тут нет, нет и потери информации, и прочех негативных с лингвистической точки зрения эффектов. На этом разговор о практическом можно закончить.

Если говорить о субъективном, то в языке довольно многие явления могут раздражать. Например, редукция фразы «пока до свидания» до простого «пока» в начале прошлого столетия, что явно кринж. Но все теперь используют это слово в новом значении не задумываясь. Субьективное восприятие красоты тех или иных оборотов зависит только от моды, для одного поколения что-то будет звучать хуево, для другого — уже органично. Когда-то и слово кринж станет словарным и это процесс настолько неизбежен, что «бороться» с этим невозможно, и в общем-то не нужно. В любом случае, сейчас мы говорим даже не о таком диком примере, а о нормальной кальке, которая по какой-то причине смутила только тебя
98 3250497
>>50496
Ну и нахуй ты опять подменяешь косноязычие и непривычность?
99 3250502
>>50497
В изначальном посте, на который я отвечал, косноязычность была определена через восприятие "звучания" слова, что зависит только от привычки и не является объективным критерием. Это так сложно для понимания?
100 3250504
>>50502

> что зависит только от привычки и не является объективным критерием. Яскозал!


Приходи, когда будут аргументы посерьёзнее.
101 3250510
>>50504
Молодец, клоун, круто говном обмазался)
102 3250512
>>50510
Ну и нахуй ты говном обмазался, клоун?
 winderton-10-лет-опыта.jpg201 Кб, 1024x1330
103 3250518
>>50370
Хорстманн chapter 3 p.4 variables
Че искать то, иди читай, бездельник. Совсем уж основы не спрашивай у ребят, че ты как этот
104 3250525
>>50487
Интерфейс не может иметь объектов так как является лишь набором каких-то обязательных функций(методов), но при этом интерфейс с одним единственным методом может быть чем-то вроде типа, для которого можно объявить переменную. В этом и исключение.
105 3250535
>>50525
Функциональный интерфейс тоже никаких объектов не имеет, фактически тип объекта, который ты создал лямбдой, будет другим, как и в случае с анонимным классом, просто поскольку метод всего один, с лямбдой ты можешь использовать меньше слов для описания имплементирующего класса (или даже просто передать ссылку на метод).
Тут никаких исключений нет
106 3250536
>>50535
В этом и есть исключение, что для обычного интерфейса нельзя объявить переменную такого типа, а для функционального можно. И это есть то самое исключение: для интерфейса вроде бы и нет возможности сделать переменную(ссылку), но есть частный случай, когда можно.
107 3250537
>>50536
Можно сделать тоже самое и с не функциональным интерфейсом, когда ты имплементируешь его анонимным классом, фактически создается новый тип, имеющий неявное название. Переменная типа интерфейса содержит такой объект, но его фактический тип, конечно, не тип интерфейса.

Когда ты делаешь это анонимным классом, тебе надо указать названия методов, это очевидно. Если метод один, то можно указать только параметры и реализацию (что ты и делаешь с помощью лямбды)

Как видим, это не исключение.

(Я не совсем понимаю твою формулировку "сделать ссылку для интерфейса". Можно сделать ссылку типа интерфейса, но нельзя сделать объект типа интерфейса. Это правило работает без исключений)
108 3250538
>>50537
Ты можешь сделать переменную(ссылку) на интерфейс с несколькими методами?
109 3250539
>>50538
Я не могу сделать ссылку на интерфейс ни с несколькими методами, ни с одним. Я могу обьявить ссылку типа интерфейса и посместить в неё объект типа, реализующего этот интерфейс, при этом не важно, сколько методов описано в этом интерфейсе. Если их много, я использую анонимный класс, если один — более короткую форму записи, лямбду
Принцип этих действий олинаков, создаётся новый тип с неявным названием
110 3250540
>>50539
public interface i1{
public int number(int a);}
public interface i2{
public int n1(int a);
public int n2(int b);}

public main{
public static void main (String[]args){
i1 in1;
i2 in2;
}
}

С кодом всё нормально? javac у меня ругается на попытку сделать переменную(ссылку) типа i2
111 3250541
>>50540
public main -> public class main
Вышла опечатка
image2024-08-1604-31-12.png77 Кб, 918x821
112 3250545
>>50540
За исключением имени класса ни на что не ругается твой код. Ну учитывая, что публичные интерфейсы в других файлах
113 3250550
>>50518
И что это ? Скинул какю-то хуйню , потому что сам не понимаешь. Вот ты и иди читать, бездельник!
114 3250552
>>50550
На скрине прикол для тех, кто в теме. Это не для тебя. Ну ты вообще тупой какой-то если честно, нечего тебе делать в джаве, не трать время
115 3250559
>>50552
Мамку твою ебал
image.png117 Кб, 225x225
116 3250817
Проиграл с диалога с hr

- С какими версиями джава работали?
- 8, 11, 17 ,21
- Ого!!! Ничего себе, какой у Вас большой опыт

Нафиг они вообще это спрашивают? Что им с того, что я в копролите с брейками в свичах ковырялся или рекордами под хвост баловался? По сути никой разницы в разработке - на чем проект на том и пишешь
117 3250901
Нафигачили современный фоторедактор на свинге
https://www.reddit.com/r/java/comments/1eso5dg/modern_gui_photo_editor_in_java/
118 3250903
>>50817

>Нафиг они вообще это спрашивают?


Потому что посимвольно сверяют с тем что у них на бумажке в требованиях написано
358127131-0d8cb67f-8253-4927-b5c9-b90485a488b8.jpg310 Кб, 1581x888
119 3250906
172382013241586233.jpg119 Кб, 900x761
120 3250907
>>50817
Щас напишу, что работал с 8, 11, 16, 17, 18, 19, 20, 21 и 22, отбоя от HR не будет...
121 3250968
>>47932

> флоу


Значение знаешь?
122 3250983
>>50907
Можно сразу 8-21 писать, никто не мешает писать на 21 как на 8.
123 3250991
>>50983
Мозг HR с однозначным уровнем IQ будет гораздо больше впечатлён девятью цифрами, чем двумя.
124 3251028
>>50991
Не, я имею ввиду прямо перечислить 8, 9, 10...
125 3251085
>>50907
А это что вы скакали по версиям, нам прыгунки не нужны, мы вам перезвоним
126 3251095
>>50903
Идеальное резюме:
Работал с html, http, json, xml, yaml, yml, xml, soap, scratch, xsd, wsdl, rest, cookies, spring web dispatcher servlet, ide, keyboard, keycloak, java 1.8, java 8, java 11, java 14, java 17, java 21
127 3251125
>>50968
Что не так?
128 3251167
>>51095
Ты не поверишь, они реально считают по буквам.
Я работаю с дотнетом с 2006 года, видел взлет и падение всех фреймворков, кроме геймдева. В резюме написано просто .NET и MSSQL. Мне как-то девочка заявила: вы нам не подходите, потому что у вас указано мало технологий. Вакансия была в днищенскую галеру, куда я подался просто освежить знания перед другими собесами.
129 3251216
>>51095
именно так
это звучит бредово, но при мне одному чуваку чуть не отказали, потому что у нас в требованиях стояла java 8, а он написал java 1.8
ну и требование знать java, java 8 и java 21 не думаю что кого-то удивляет уже
130 3251361
Вы вообще видели что за кал будет джава 23? Там депрекаций больше чем новых фич.
131 3251365
>>51125
Использование твоего слова.
132 3251382
>>51361
Срочно неси сюда!
133 3251383
Как называется стек наоборот?
134 3251384
>>51382
+ свич по булину
- ансейф
- стринг темплейты
135 3251391
>>51384

>+ свич по булину


Ура, наконец-то полноценный паттерн матчинг! Надеюсь, еще и с null-ом?

>- ансейф


>- стринг темплейты


Нинужна.
136 3251393
>>51216

> ну и требование знать java, java 8 и java 21 не думаю что кого-то удивляет уже


А нужно знать javac, javap? Знание jshell будет плюсом? jar?
137 3251425
>>51393
Если им напишут на бумажке - будь добр ответь, владеешь ли и сколько лет коммерческого опыта
138 3251542
>>51383
Кетс
139 3251552
>>51425
Назовите хоткей, чтобы авто импортировать класс по первым буквам в shell
Напишите на листочке команду, чтобы установить vscode как редактор для jshell
Назовите хоткей, чтобы создать jshell черновик в идее
Перечислите все ключи jshell по алфавиту

Что? Ага, мням мням... Понятно... Мы вам перезвоним....
140 3251554
>>51552
У меня один раз спрашивали хоткеи вима...
141 3251730
>>51552
У меня давно был разговор с ХРом на какой-то реверс инжиниринг, спрашивает:
- Нам нужен человек, который понимает как программа работает внутри, вы знаете как именно программа работает внутри?
- Ну, вы упомянули знание системы контроля версий, программ сборки, то есть у вас есть исходный код?
- Я не знаю, это вам ответят тех специалисты, вы просто скажите - вы знаете как программа работает внутри?
- Да

Поговорил с баш скриптом
image.png65 Кб, 901x533
142 3251765
>>50518
Пофиксил
image.png548 Кб, 1662x1784
143 3251971
>>51765
Блоха читай, 2-я глава
144 3252283
>>51971
Сам блоха, гнида.
145 3252458
Шалом, анон, доставь советов мудрых. Какие книги купить по спрингу (не бут) и джаве чтобы наконец почувствовать себя мидлом? 2.5 года опыта, читал статьи баелданга и стековер
146 3252462
>>52458
Книги не помогут и никогда не помогали. Чтобы почувствовать себя мидлом - тебе нужно походить по интервью, посмотреть что ожидают от мидла, чаще всего это не книжные знания.
1724082306014.jpg598 Кб, 1080x2400
147 3252535
Нахуя этот еблан описывает случай где в публичном утилитарном классе красуется публичное поле. Буквально ноль шансов что кто-то будет так писать, ещё с таким важным ебалом дальше пишет что проблему можно решить композицией и с гордым видом делает поле прайват файнал,а на метод вешает смнхронайзд,я в ахуе с этого шиза
148 3252536
>>52535
Это ты еблан, если не можешь мысль уловить.
149 3252542
>>51095
Дружок, это мало, накинь еще несколько фрейворков спринга - секьюрити, дата жпа, спринг тест и т.д., штук 5 баз данных, куда без докера, хибернейт, но он входит в спринг дата, будет желательно у них будет это знание сиай сиди, линукс, хтмл, си эс эс, джава скрипт, тайпскрипт базовый, немного ангуляра или других фронтенд фреймов
150 3252543
Здарова джависты, какой IDE пользуетесь? Много у кого поделие жидбрейнс лагает? Что скажете насчет эклипса?
151 3252611
>>52543
Пользуюсь жидеей и терплю постоянно её баги. Если бы я не был порриджем, которому важен дизайн, я бы писал в эклипсе, а есди бы сразу знал про баги жидеи и не привык бы к ней писал бы в вс коде.
152 3252626
>>52543

>лагает


Комп купи, нищепидар.
153 3252629
>>52626
Ты вообще хоть раз жидею открывал или чисто за 15 дней подписки нахрюкиваешь?
154 3252643
>>52543

> Что скажете насчет эклипса?


База
155 3252648
>>52543
Идея

>Много у кого поделие жидбрейнс лагает?


Не лагает

>Что скажете насчет эклипса?


Вырвиглазно
156 3252651
>>52648

> Вырвиглазно


Что там вырвиглазно? В эклипсе душевность какая-то есть, приятно в нее заходить, в отличие от бездушной идеи. Чувствуется, где хорошие ребята пилят, а где жиды последние
157 3252655
>>52651
Ну так сиди в ней. Некоторые и в виме сидят, уминают-нахваливают
158 3252680
>>52655
Вим это как бы базовое знание, сейчас ты собес не пройдешь без знания вима так то >>51554
159 3252683
Что за ебанутое решение обсуждается, что не будет обратной совместимости с java 3, т.е. java 30
160 3252684
>>52680
В РФ-то наверное, благо я из этого бродячего цирка с клоунами съебал к белым людям с адекватными собесами
161 3252685
>>52683
Ты о чём?
162 3252742
Есть у кого то гайды как максимально лайтово перекатиться с андроид разработки на бекенд. Джаву соответственно более менее знаю. Какие щас фреймворки или пакеты нужно учить и в каком порядке чтобы собес пройти?
163 3252745
>>52684
Адекватные собесы это когда тебе предлагают литкод решать и абстрактные задачи на логику?
164 3252755
>>52542
Фронтенд нельзя указывать, за те же деньги заставят задачи по фронту делать. Как в армии - кто не курит фронтенд в резюме указал задачи по фронту делает, у остальных - перекур
165 3252864
>>52611

>а есди бы сразу знал про баги жидеи и не привык бы к ней писал бы в вс коде.


Я за неделю пересел на vscode, сложнее всего было привыкнуть к внешнему виду. Правда на расте пишу. Из минусов lsp сервер не такой отзывчивый (не знаю как там у вас работает), исправляя ошибку надо ждать пока оно там подумает пару секунд и только потом перестает быть красненьким. Не хватает вменяемой поддержки sql, тут как-то все криво и запросы в строках не распознает. А в остальном все тоже самое, но не виснет когда набираешь текст и когда открываешь большой проект он открывается сразу и можно смотреть код, а не ждать индексации. Меня больше всего это бесили эти 2 момента

>>52626

>Комп купи, нищепидар.


Эта хуйня будет тормозить даже на суперкомпьютерах в лабораториях в Калифорнии
166 3252967
>>52745
Нет, это когда спрашивают базовые вещи, потом просят посмотреть код что не так, передача по ссылке/значению, немного про ГЦ. Всё, принят, 1 тех интервью.
167 3252973
>>52742

>Какие щас фреймворки или пакеты нужно учить и в каком порядке чтобы собес пройти?


Ну это же очевидно - Spring (Boot) Core/MVC/Data, Hibernate, плюс знать всю экосистему - JDBC, SQL, Postgres/Oracle DB, Gradle/Maven
Вот это прям базовая база, дальше вариации на тему могут быть
168 3252987
>>52967
Ну я в РФ так устраиваюсь, где так же?
169 3253061
>>52987
В Австрии
Ну а чего же говоришь что собес не пройдешь без знания вима?
170 3253288
>>52973
А есть в бекенде вот какой то проект который как бы если ты склепал то уже считай на собесы ходить можешь. Ну вот типо на ведре если ты там можешь сделать какой нибудь туду список с запросами в веб то уже для работы годишься. Есть какой то такой минимальный проект для бека чтобы знать что если тв его сделал то уже худо бедно шаришь?
171 3253307
>>53288
Да, платежную систему с рест апи делаешь вместе с базой и ок
172 3253376
>>53061
Меня вообще в этом треде не было, успокойся
173 3253389
>>53288
Да, напиши упрощённый клон постгреса или кафки и можешь откликаться на вакансии
174 3253417
Ебать, я разобрался с комплетабле фьючами. Сейчас кончу
175 3253421
>>53417
Теперь попробуй обернуть жпа репо запросы к базе в комплитабл фьюче и наблюдай как все рушится
176 3253423
>>53061

>В Австрии


Много там технологических компаний? Я думал вся европейская разработка в Германии/Нигерландах сконцентрирована.
177 3253428
>>53421
Зачем в oltp плодить асинк запросы, там надо чух чух чух быстро выполнять мелкие один за другим
178 3253440
>>53428
У меня был кейс когда надо было сходить в одну базу,потом к полученным сджоинить данные из второй или третьей базы,в зависимости от того кто быстрее ответит. У меня все сломалось на первом же запросе
179 3253463
>>52543
Сетевая фасоль - рекомендую.
180 3253472
>>53428
зависит от баз и как храняться данные.
181 3253479
>>53288
Создай новый яп и набери 1000 последователей, которые готовы работать на твоём языке
182 3253670
>>53423
Меньше, но есть
183 3253779
>>52535
он же не делает этого в показанном тобою скрине.
композиция с прайват полем это вообще случай не то чтобы уникальный, а важный в том плане, что никто не будет вмешиваться в твою синхронизацию. типа представь свое ебало, если кто-то поймает единственный Object#notify извне? а они липкие.

я вообще в ахуе с того как ты долго это читаешь и все также тупишь, лол.
184 3253791
>>53779
Я переключался на тусовки и книжку по скл,от манеры изъясняться автора все ещё воротит,поэтому читать её тяжело
Screenshot20240821212804org.readera.premium.jpg743 Кб, 1080x2310
185 3253800
>>53791
можешь попробовать другую: The Art of Multiprocessor Programming, 2e.
она вроде понятнее и там картинок больше)
186 3253815
>>53800
45 страниц? Я эту дочитаю,у меня на очереди пособие епамовское. Книги-выжимки меня ещё ни разу не подводили
x3ab80b1436.jpg59 Кб, 400x344
187 3253845
Сап, посоветуйте пожалуйста лучшие книги по жабе и спринг.
188 3253846
>>53845
Шилдт, срыг в действии, многопоточко на практике. Хотя судя по опыту анона выше, для последнего, оказывается, нужен уровень интеллекта выше минимального.
189 3253850
Доброй ночи.
Помогите, о великие джависты.
Что делать с этой хуйней? Она и в idea и в vs code. Никак не могу понять почему она появилась и как пофиксить
190 3253856
>>53850
1. Если ты пользуешься внутренней системой сборки жидеи, переходи на мавен, можно будет хотя бы пытаться разбираться, в чём дело.
2. Перезапусти жидею полностью.
191 3253907
>>53845
spring-core.pdf
изображение.png19 Кб, 677x90
192 3253930
>>53856
Вот такая хуйня на мавене. Жидею переустановил на этой системе, даже установил на второй - ничего не работает
193 3253931
какая IDE лучше всего для ЯВЫ?
194 3253935
>>53931
idea/vs code/eclipse/vim/сам написать можешь, вообще похуй. Это ни на что ни влияет особоё
195 3253954
>>53930
Вроде какая-то хуйня с импортом у тебя
1724315674547.jpg120 Кб, 869x1280
196 3253957
197 3253991
>>53935
Этот хуйню несёт. Среда разработки влияет на программирование как ботинки на бег. Основа — ноги, но в хуёвых ботинках натрёшь мозоли.
198 3254094
>>53954
как ее фиксить? гайд от анона на пост ниже не помогает
199 3254113
>>54094
Клин пекедж делал? Дублирования зависимостей нет?
200 3254129
>>54113
При наведении на "fasterxml" пишет "Cannot resolve symbol 'fasterxml'" И предлагает решение

Find JAR on web

После нажатия на которое высвечивается

No libraries found for 'com. fasterxml. jackson. annotation. JsonAutoDetect'

Она как в Idea, так и в vs code. Что на Windows, что на Linux. Переустанавливал все по несколько раз, ничего не помогает. Добавлял нужную библиотеку вручную - тоже самое. SDK man также наотрез отказывается устанавливать что-либо, выдает ошибку на этом этапе.
Даже нейросетку подрочил, ничего не получается

Впервые столкнулся с Maven, поэтому точно не могу понять, что надо сделать.Как отредактировать этот код (простите), чтобы все заработало?

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>root</groupId>
<version>1.0</version>
<artifactId>project</artifactId>
<packaging>pom</packaging>
<name>project</name>

<modules>
<module>projects</module>
<module>primary-source</module>
<module>servlets</module>
<module>ejbs</module>
<module>ear</module>
<module>site</module>
</modules>

<!-- Зависимости -->
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>3.2.1</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.15.0</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.15.0</version>
</dependency>

</dependencies>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<unzipCommand>/usr/bin/unzip -o > err.txt</unzipCommand>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>root.project.projects</groupId>
<artifactId>logging</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>root.project</groupId>
<artifactId>primary-source</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>root.project.servlets</groupId>
<artifactId>servlet</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>root.project</groupId>
<artifactId>ejbs</artifactId>
<version>1.0</version>
<type>ejb</type>
</dependency>
</dependencies>
</dependencyManagement>

<distributionManagement>
<site>
<id>site</id>
<name>project website</name>
<url>scp://local.company.com/websites/project.company.com/</url>
</site>
</distributionManagement>
</project>
200 3254129
>>54113
При наведении на "fasterxml" пишет "Cannot resolve symbol 'fasterxml'" И предлагает решение

Find JAR on web

После нажатия на которое высвечивается

No libraries found for 'com. fasterxml. jackson. annotation. JsonAutoDetect'

Она как в Idea, так и в vs code. Что на Windows, что на Linux. Переустанавливал все по несколько раз, ничего не помогает. Добавлял нужную библиотеку вручную - тоже самое. SDK man также наотрез отказывается устанавливать что-либо, выдает ошибку на этом этапе.
Даже нейросетку подрочил, ничего не получается

Впервые столкнулся с Maven, поэтому точно не могу понять, что надо сделать.Как отредактировать этот код (простите), чтобы все заработало?

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>root</groupId>
<version>1.0</version>
<artifactId>project</artifactId>
<packaging>pom</packaging>
<name>project</name>

<modules>
<module>projects</module>
<module>primary-source</module>
<module>servlets</module>
<module>ejbs</module>
<module>ear</module>
<module>site</module>
</modules>

<!-- Зависимости -->
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>3.2.1</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.15.0</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.15.0</version>
</dependency>

</dependencies>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<unzipCommand>/usr/bin/unzip -o > err.txt</unzipCommand>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>root.project.projects</groupId>
<artifactId>logging</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>root.project</groupId>
<artifactId>primary-source</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>root.project.servlets</groupId>
<artifactId>servlet</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>root.project</groupId>
<artifactId>ejbs</artifactId>
<version>1.0</version>
<type>ejb</type>
</dependency>
</dependencies>
</dependencyManagement>

<distributionManagement>
<site>
<id>site</id>
<name>project website</name>
<url>scp://local.company.com/websites/project.company.com/</url>
</site>
</distributionManagement>
</project>
201 3254135
>>54129
В идее в правом боковом пространстве есть вкладка мавен,выбери там clean и package это должно пересобрать твой проект и подгрузить все зависимости
202 3254142
>>54129
Че за хуйня написана в дистрибьюшн менеджере,это ты написал или идея сама теперь так генерирует?
изображение.png122 Кб, 1092x691
203 3254147
>>54135
clean работает нормально, package выдает ошибку с пика. Сам не нашел ответа

>>54142

><!-- Зависимости -->


Ниже этой строчки и до build чат гпт ебанула
204 3254150
>>54147
На мавен централе последняя версия Джексон датабайнда 2.17.2, попробуй её
205 3254295
>>52629
Каждый день открываю, нихуя не лагает. Жирнейший монолит, утыканный плагинами. Посмотрел бы я как пердиксы разрабатывали это в пердикскоде.
206 3254362
>>53930
Установи эклипс и все будет работать
Жидею с вскодом можно удалять
207 3254364
>>54362
Ты вообще тред читал? У него не баги жидеи, у него даже напрямую мавеном не собирается это.
208 3254365
>>54295
Сидишь с монитором с частотой обновления раз в 10 минут?
209 3254368
>>54365
Этот жеп https://openjdk.org/jeps/480 кто-то трогал уже? Вроде третье превью, интересно че там и как.
210 3254369
>>54368
А меня нахуя тегнул?
211 3254378
>>54369
Привык просто постики писать, через вызов меню ответить кому-то. Невермайнд, спи иди.
212 3254379
>>54368
Нет, зачем? В большинстве случаев это не нужно
213 3254389
Ребят, поясните про сериализацию. Если я определил свой writeObject() и не использую там defaultWriteObject(), чем это отличается от writeExternal()? И зачем он нужен тогда, просто указать, что класс должен переопределить эти методы?
IntelliJ IDEs now support Wayland (experimental) 214 3254423
215 3254433
>>54389
Сериализация депрекейтед чел. Потрать свое время на что-нибудь полезное.
1677772925papik-pro-p-zloi-yevrei-karikatura-27.jpg110 Кб, 900x900
216 3254817
Жаваны, выручите пож. Очень хочу скидку 15% в яндексе на курс (буду вкусно кушать на сэкономленные деньги), бахните кто-нить первую тему по рефералке. Таким опытным чубрикам как вы делов на 10 минут.

https://practicum.yandex.ru/referrals/?ref_code=gAAAAABmyIjoAcSb1EEnTtWcbzNwEZBeJz64GSzyFgZZeu4nee3X65XmXFqBbOTaJzJUambd1gvbe4COwrOk-8FmRVhjDNidfg%3D%3D

Неопытным чубрикам тогда тоже скидку дадут если че.
217 3254853
Дайте что-нибудь почитать про разработку на android без ide.
Чтобы самому настраивать xml, кнопочки и прочее.
218 3254876
>>54364
ты и в ide можешь их без проблем ручками создавать и настраивать
219 3254887
Жависты, я из другого я зыка, мне нужно статью прочитать но тут затык. Объясните плиз, что за C, R и прочие скобочки, чет пиздец какой-то.

Command<R> - тип возврощаемого значения. Какой тип? R - это класс, его нет если что.

CommandHandler<C extends Command<R>, R> - вот тут я вообще даже в угадайку играть не буду

И вот, ебануться - public <C extends Command<R>, R> R handleCommand(C command) {

Еще - public class CreateCustomerCommandHandler implements CommandHandler<CreateCustomerCommand, Customer> { // (5)
220 3254898
>>54887
Почитай про дженерики.

> CommandHandler<C extends Command<R>, R>


Это значит что при имплементации этого интерфейса ты можешь заюзать любые классы вместо C и R.
При условии что C наследуется от Command<R>

> public class CreateCustomerCommandHandler implements CommandHandler<CreateCustomerCommand, Customer>


Пример такой имплементации.

> public <C extends Command<R>, R> R handleCommand(C command) {


Метод, который будет вызывать этот интерфейс.
221 3254901
Сап. Проект ~ какого уровня требуют от джуна?
104973@2x.jpg1,2 Мб, 1546x2400
222 3254921
>>54901
5к RPS 20kk DAU ten nines AVL
223 3254928
>>52458
Смотри Спринг Потрошитель с Женечкой на ютубе, там сильно не менялись кишочки
224 3254939
>>54901
Требуют проект уровня "три года нарисованного опыта в резюме"
225 3255072
Если у меня в микросервисном проекте используется Eureka Server и Config Server, то как их можно защитить от несанкционированного доступа?
У меня для всех конечных точек сервисов используется JWT и только перечисленные выше два сервиса без Spring Security. И стоит ли вообще их делать для них?
Мне кажется что Eureka Server обязательно, т.к. мы же можем там получить информацию о всех доступных репликах и натворить делов, но на ум приходит только какая-нибудь форма с логином и паролем.
А для Config Server пока не приходит в голову как реализовать авторизацию. Там же ничего нет, этот сервер просто раздает ресурсы. Или всё же можно как-то получить доступ к конфигурационным файлам и что-нибудь изменить?
226 3255078
>>54901
В зависимости от того как мало у компании денег
227 3255079
>>55078
Чем меньше у компании денег, тем больше будут требовать и ебать?
228 3255096
229 3255099
Почему джависты и шарповики ненавидят друг-друга?
230 3255103
>>55099
Да всем насрать, это школьники поддувают, аудитория видосиков python vs java на ютубе
231 3255109
Если джава такой пиздатый язык почему тогда майнкрафт переписали на С#
232 3255113
>>55109
Ты наркоман?
233 3255115
СКУФЦ ВЕЩАЕТ О ВАЛЬХАЛЛЕ
https://www.youtube.com/watch?v=IF9l8fYfSnI
СКУФЦ ВЕЩАЕТ О ВАЛЬХАЛЛЕ

СМОТРИМ ВМЕСТЕ
234 3255121
>>55115
Шарписты все сдохнут а мы попадём в Elden!
235 3255122
Eden
быстрофикс
236 3255133
>>54433

> Сериализация депрекейтед чел


Хм, ну я по книжке Хорстманна иду, там есть. В любом случае, эта тема на день была, просто один вопрос остался
Вот бы найти опытного джависта, чтобы помогал. Но я социопат
237 3255143
>>55133

>эта тема на день была


Суббота докер
Воскресенье кубер
Понедельник спринг
Вторник готов в прод!!!
238 3255155
Вы куда вкатываетесь, дауны? Вкат уже два года закрыт.
239 3255180
>>55155
А мне просто нравится джава, я работать все равно не хочу
240 3255181
Аноний, посоветуй как лучше сделать для spring-приложений в целом.

По воле случая пришлось параллельно брать руководство над java-командой и вкатываться в неё (сам дотнетчик бывший и вообще руковод angular-разработкой, такие дела), и что мне серьёзно не нравится, это куча проблем в проекте, среди которых:
1. Вообще не расписано нихуя в application.yml и application-local.yml. То бишь нет ни комментов, ни документации, ни даже общего набора свойств, чтобы их количество в обоих файлах сохранялось. Такое бесит до одурения
2. Сам maven, settings.xml и pom.xml. Дело даже не в том, что он многословен, а в том, что подход работы maven контринтуитивен тому же .net cli, npm и прочему, где одна команда делает только то, что в ней забито, а не выполняется куча ебучих целей по lifecycle, которые приходится скипать доп.аргументами. Может, конечно, я пока читал жопой и не до конца разобрался, как это конфигурировать правильно
3. Код нихуя почти не документирован, у меня прям жопа горит с этого. Как коллеги разрабатывают это уже который год я ума не приложу. Даже ебучий ман как запустить проект я писал самостоятельно, потому что это знание, словно, блядь, предание какое-то древнее передавалось исключительно из уст в уста
4. Легаси-легаси-легаси. А также охуеть какой техдолг. Только недавно провели миграцию на spring-boot 3.1.2 и java 17, но куча говен различной степени поршивости ещё присутствует в проекте. Нет, анончик, это не мой порыв просто всё взять и переделать, потому что так захотелось, это необходимость: когда у тебя в проекте error-code буквально генерится РАНДОМОМ -- это зашквар ебаный. Не говоря уже о проблемах с производительностью и том, что микросервисы даже порой взаимодействуют не только со своей схемой БД, а общаются между собой не через kafka, а простыми запросами по HTTP, в которых порой нарушается data contract

Короче, план действий у меня такой:
1. Возможно, провести миграцию с maven на gradle для облегчения конфигурации и настройки lifecycle
2. Дотьюнить набор необходимых --add-opens для старта проекта в связи с миграцией на java 17, чтобы исключить набор плавающих ошибок (банально, чтобы нормально работал и не падал ignite в рандомный момент времени)
3. Нормально прописать application.yml и application-local.yml
4. Перейти на OpenFeign для настройки httpclient, вместо resttemplate
5. Начать перепиливать кал на что-то более вменяемое одновременно с самодокументацией
240 3255181
Аноний, посоветуй как лучше сделать для spring-приложений в целом.

По воле случая пришлось параллельно брать руководство над java-командой и вкатываться в неё (сам дотнетчик бывший и вообще руковод angular-разработкой, такие дела), и что мне серьёзно не нравится, это куча проблем в проекте, среди которых:
1. Вообще не расписано нихуя в application.yml и application-local.yml. То бишь нет ни комментов, ни документации, ни даже общего набора свойств, чтобы их количество в обоих файлах сохранялось. Такое бесит до одурения
2. Сам maven, settings.xml и pom.xml. Дело даже не в том, что он многословен, а в том, что подход работы maven контринтуитивен тому же .net cli, npm и прочему, где одна команда делает только то, что в ней забито, а не выполняется куча ебучих целей по lifecycle, которые приходится скипать доп.аргументами. Может, конечно, я пока читал жопой и не до конца разобрался, как это конфигурировать правильно
3. Код нихуя почти не документирован, у меня прям жопа горит с этого. Как коллеги разрабатывают это уже который год я ума не приложу. Даже ебучий ман как запустить проект я писал самостоятельно, потому что это знание, словно, блядь, предание какое-то древнее передавалось исключительно из уст в уста
4. Легаси-легаси-легаси. А также охуеть какой техдолг. Только недавно провели миграцию на spring-boot 3.1.2 и java 17, но куча говен различной степени поршивости ещё присутствует в проекте. Нет, анончик, это не мой порыв просто всё взять и переделать, потому что так захотелось, это необходимость: когда у тебя в проекте error-code буквально генерится РАНДОМОМ -- это зашквар ебаный. Не говоря уже о проблемах с производительностью и том, что микросервисы даже порой взаимодействуют не только со своей схемой БД, а общаются между собой не через kafka, а простыми запросами по HTTP, в которых порой нарушается data contract

Короче, план действий у меня такой:
1. Возможно, провести миграцию с maven на gradle для облегчения конфигурации и настройки lifecycle
2. Дотьюнить набор необходимых --add-opens для старта проекта в связи с миграцией на java 17, чтобы исключить набор плавающих ошибок (банально, чтобы нормально работал и не падал ignite в рандомный момент времени)
3. Нормально прописать application.yml и application-local.yml
4. Перейти на OpenFeign для настройки httpclient, вместо resttemplate
5. Начать перепиливать кал на что-то более вменяемое одновременно с самодокументацией
241 3255273
>>55181

>1. Вообще не расписано нихуя в application.yml и application-local.yml.


Хуйли там тебе расписывать? Поищи классы которые маппятся на эту парашу по аннотации @ConfigurationProperties. Там по идее комменты могут быть. А могут и не быть, я хуй забил их писать.

>2. Сам maven, settings.xml и pom.xml.


>Может, конечно, я пока читал жопой и не до конца разобрался, как это конфигурировать правильно


Там уже скорее всего все настроено. CI/CD дернет clean verify, а дальше уже запихнет в докер.

>3. Код нихуя почти не документирован, у меня прям жопа горит с этого.


А хуйли там что-то писать если процентов 90% кода это бойлерплейт? Помечать докой геттеры? Единственный раз когда мне более менее пригодились комменты - это не в коде, а в тестах, когда дико заебистый алгоритм был.

>когда у тебя в проекте error-code буквально генерится РАНДОМОМ -- это зашквар ебаный


Это к легаси никакого отношения не имеет. Просто раздолбайство.

>микросервисы даже порой взаимодействуют не только со своей схемой БД


Это как? В чужую лезут?

>общаются между собой не через kafka, а простыми запросами по HTTP, в которых порой нарушается data contract


Нарушение контракта не хорошо, но если надо какую-то синхронную парашу протащить через несколько сервисов - другого выхода тупо нет.

>провести миграцию с maven на gradle


Градл хуита. Не трогал бы эту хуиту и 10 метровой палкой.

>Дотьюнить набор необходимых --add-opens


У тебя какая-то странная хуйня происходит в проекте. Мы на 21 перекатили и нихуя не дотюнивали.
242 3255424
>>55181

>Возможно, провести миграцию с maven на gradle для облегчения конфигурации и настройки lifecycle



Перданул с подливой
243 3255451
>>55181

>Возможно, провести миграцию с maven на gradle для облегчения конфигурации и настройки lifecycle


Возможно у тебя другой опыт, но грэдл - это пиздец и миграция на него не облегчение. Он настолько нестабильный, что любое обновление даже патч версии может тебе все нахуй сломать. А уж проблемы с совместимостью апи плугинов - это вообще стандарт

Не знаю что ты там делаешь мавеном, но обычно им можно делать куда боле простые и переносимые билды
244 3255455
>>55181

>4. Перейти на OpenFeign для настройки httpclient, вместо resttemplate


Опять же, тяга все решать хайповыми фреймворками - это признак джуна или джсера. Нужно оценить не добавить ли сложности опенфейн, может там и ресттемплейта по горло хватает
245 3255463
>>55181

>микросервисы даже порой взаимодействуют не только со своей схемой БД, а общаются между собой не через kafka, а простыми запросами по HTTP


Это действительно ужасно

Судя по твоему описанию, возможно там микросервисы там не такая уж удачная затея и возможно многие из них можно просто слить воедино
246 3255511
>>55463

>Это действительно ужасно



Что прям ужасного-то? Если не напрямую, а через сервис дискавери.
247 3255676
>>55511
Это был сарказм. На кафке свет клином не сошёлся, HTTP вполне нормален
248 3255725
поясните, что за опенфейн? Я думал фейны это для общения внутри кубернетиса, с интеграцией с кубернетисом
249 3255751
>>55725
Нет
250 3255753
Нахуй нужен фейн, если в спринг добавили хттп интерфейсы?
251 3255777
>>55725
Декларативный http-клиент.
Ну т.е. принцип как в JPA - нарисовал интерфейсы, дальше оно само.
Смысл - меньше бойлерплейта.
В свежем спринге подобное уже из коробки, как выше заметили.
252 3255797
>>55725
Существо рождённое больным умом одебилевшего от рефлексии анноташкошвайна которое для описания отправляемого запроса использует аннотации
253 3255863
>>55181
Съебывай. Без агрессии, добрый совет.

Даже если в проекте настолько все плохо, насколько ты расказываешь, уже по твоему плану и бэкграунду видно что ты не тот человек который способен переломить негативную тенденцию. Ты сделаешь проекту только хуже - даже если бы ты просто взял, пустил всю команду по пизде, нахайрил дотнетчиков и переписал все нахрен на шарпы с нуля, а потом на дваче кичился бы тем, какой ты охуенный шарпей, и какие джаваны идиоты, это и то было бы продцуктивней. Ты же прицепился к градлу с фейном как к какой то панацее, при этом судя по тому что ты написал сам с ними никогда не работал. Доебы какие то детские до мавена опять... если тебе
мавен контринтуитивен, проблема в тебе, а не в мавене, миллионы мавеноюзеров не могут ошибаться на этот счет. Ты просто проебешь на этот переход кучу человекочасов и все станет контринтуитивно не только для тебя, но и для команды, и ничего ты этим не добьешься.

Просто съеби и уступи дорогу кому нибудь с джавовым бэкграундом, не мучай себя и людей. Или хотя бы найди в команде адекватного разраба на джаве, делегируй ему верховные техлидерские полномочия, а сам тюнь процессы.
254 3255889
>>55863
Да это кстати траллинг какой-то я в жизне не поверю что в живой проект запустят человека со стороны еще и с тупо другим тех бэкграундом. Учитывая что там есть какая-то команда и легче назначить кого-то из них.
255 3255896
>>55889
Сплошь и рядом такое. Особенно в местечковых артелях, которые не настолько гиганты чтобы скальпить всех синьоров с рынка.
256 3255912
Будет ли плюсом, если сделать свою библиотеку(набор классов) и выложить на гитхаб?

Верно ли я понимаю, что все новые библиотеки/технологии сейчас продвигаются через агрессивный маркетинг большими или критически важными фирмами?
257 3255915
>>55912
Нет, бесполезного говна хватает и без тебя.
Да.
258 3255920
>>55912
Плюсом для кого? Для твоего резюме - крайне маловероятно. Если твое поделие не собирает сотни звезд, всем насрать.

>Верно ли я понимаю, что все новые библиотеки/технологии сейчас продвигаются через агрессивный маркетинг большими или критически важными фирмами?



Не совсем. Скорее - современные анальники выродились в размякших омежек, и здравый смысл им заменила реклама и пропаганда дядек с деньгами.
259 3256073
>>55912

>Будет ли плюсом


для чего/каво?
260 3256152
Здарова, помогите пожалуйста, создал рест апи круд, у меня есть 2 модели - автор и книга, связал их через мэни ту мэни, добавил метод для добавления книги к автору через айди, методом PUT, выполняю этот запрос, возвращает автора и по ключу "книги" правильно выдает книгу, но проблема в том, что при запросе ГЕТ этого автора, по ключу книг уже пустой список, хотя таблица связей авторов и книг в базе данных сохраняется, чат гпт не помогает, вообще не пойму в чем проблема, заебало, вот код https://pastebin.com/nHSTWuXR
Я поудалял лишние методы, типо добавить, обновить и прочее
261 3256175
>>56152
Создал еще один проектик с нуля, по минимуму, пара моделей и минимум необходимых методов, чтобы проверить еще раз, та же хуйня, у меня почему то при гет запросе не мапятся связанные сущности по таблице, я и базу данных менял, хуй знает что я не так сделал, это пиздос, ладно, передохну и пойду гайды у индусов смотреть
262 3256177
>>56152
И может подскажете, где поподробней про эту фигню прочитать, есть в официальной вики по спринг дата жпа?
263 3256207
>>56152
Пиздец, наконец разобрался https://jpa-buddy.com/blog/lombok-and-jpa-what-may-go-wrong/
Не используйте ентити и дата вместе, потому что в дате есть аннотация @EqualsAndHashCode, которая ломает работу с спринг дата жпа и дженериком сет<>, наверное для здешних это очевидно, но я наступил на эти грабли
JIT-компиляция и подводные камни 264 3256239
Какие есть подводные камни у jit-компиляции? Верно ли я понимаю, что при jit идёт перенос арифметических и побитовых логических операций на железо напрямую?

Когда следует запускать jvm с флагом -Xint?
265 3256382
266 3256415
Аноны, помогите чем можете. У меня томкат не хочет через адресную строку переходить по страницам. Я его уже и переустанавливал и гуглил все что можно, не помогает
Каждому по килограмму ключей от софта , кто поможет!
267 3256417
>>56415
А можешь лог сфотать? Красный текст в терминале
270 3256422
>>56419
Помогло?
271 3256423
>>56422
Еще делаю
272 3256431
>>56422
Не помогло, а может я просто тупой и где-то накосячил. Как же я ненавижу томкат. Почему на ГОшке все интуитивно + встроено в язык, а тут через *опу
273 3256469
>>56431
Спринг какой версии? спринг 5 вроде работает с 9 томкатом, а 6 - с 10+.

> Почему на ГОшке все интуитивно + встроено в язык, а тут через *опу


В спринг бут томкат встроенный и настраивать его не надо, как дойдешь до него, будешь кайфовать.
274 3256475
>>56469

>В спринг бут томкат встроенный и настраивать его не надо, как дойдешь до него, будешь кайфовать


А я сразу со спринг бута начинал, ну то есть сначала разобрался с основой спринга, разобрался что такое депенденси инжекшен, научился через бины и спринг контекст это реализовывать и сразу после этого пошел крудошлепить, на реальных примерах намного легче и интересней сразу учеба пошла, а по ходу дела уже теорию изучал где не понимал
275 3256479
ВЕРИМ???

Вы абсолютно правы, если в методе `run()` имя потока отличается от потока, в котором работает бин, запускающий этот метод, это однозначный признак того, что метод был вызван асинхронно.

В этом случае Spring действительно использует прокси, но не в том виде, как вы могли бы ожидать.

Как Spring работает:

1. @EnableAsync: Эта аннотация включает асинхронное выполнение в Spring.
2. Проксирование: Spring использует CGLIB (Code Generation Library) для создания динамического прокси-объекта для ваших бинов, помеченных `@Async`.
3. Асинхронное выполнение: Когда вы вызываете `run()` через прокси-объект, Spring не выполняет метод `run()` непосредственно. Вместо этого Spring создает новую задачу и отправляет ее в пул задач, указанный в `@EnableAsync`.
4. Новый поток: Пул задач запускает задачу в новом потоке, и именно в этом новом потоке выполняется ваш метод `run()`.

Почему мы не видим прокси-класс:

- Spring использует CGLIB для создания прокси, а CGLIB работает с помощью расширения классов. Он не создает отдельный класс прокси, как это делает стандартный прокси-паттерн Java. Вместо этого он модифицирует существующий класс.
- В результате, вы не увидите в коде имя класса прокси.

Пример:

Представьте, что у вас есть класс `MyBean` с методом `myMethod()`, помеченным `@Async`.

1. Spring создает прокси-класс, наследующий от `MyBean`, с помощью CGLIB.
2. Когда вы вызываете `myBean.myMethod()`, Spring на самом деле вызывает метод `myMethod()` прокси-класса.
3. Прокси-класс перехватывает вызов, создает новую задачу и отправляет ее в пул задач.
4. В пуле задач задача запускается в новом потоке, и именно в этом потоке выполняется `myMethod()` оригинального класса `MyBean`.

Заключение:

Хотя вы не видите прокси-класс напрямую, он все равно существует и используется Spring для асинхронного выполнения. CGLIB работает "под капотом" и обеспечивает прозрачную асинхронную обработку ваших методов.
275 3256479
ВЕРИМ???

Вы абсолютно правы, если в методе `run()` имя потока отличается от потока, в котором работает бин, запускающий этот метод, это однозначный признак того, что метод был вызван асинхронно.

В этом случае Spring действительно использует прокси, но не в том виде, как вы могли бы ожидать.

Как Spring работает:

1. @EnableAsync: Эта аннотация включает асинхронное выполнение в Spring.
2. Проксирование: Spring использует CGLIB (Code Generation Library) для создания динамического прокси-объекта для ваших бинов, помеченных `@Async`.
3. Асинхронное выполнение: Когда вы вызываете `run()` через прокси-объект, Spring не выполняет метод `run()` непосредственно. Вместо этого Spring создает новую задачу и отправляет ее в пул задач, указанный в `@EnableAsync`.
4. Новый поток: Пул задач запускает задачу в новом потоке, и именно в этом новом потоке выполняется ваш метод `run()`.

Почему мы не видим прокси-класс:

- Spring использует CGLIB для создания прокси, а CGLIB работает с помощью расширения классов. Он не создает отдельный класс прокси, как это делает стандартный прокси-паттерн Java. Вместо этого он модифицирует существующий класс.
- В результате, вы не увидите в коде имя класса прокси.

Пример:

Представьте, что у вас есть класс `MyBean` с методом `myMethod()`, помеченным `@Async`.

1. Spring создает прокси-класс, наследующий от `MyBean`, с помощью CGLIB.
2. Когда вы вызываете `myBean.myMethod()`, Spring на самом деле вызывает метод `myMethod()` прокси-класса.
3. Прокси-класс перехватывает вызов, создает новую задачу и отправляет ее в пул задач.
4. В пуле задач задача запускается в новом потоке, и именно в этом потоке выполняется `myMethod()` оригинального класса `MyBean`.

Заключение:

Хотя вы не видите прокси-класс напрямую, он все равно существует и используется Spring для асинхронного выполнения. CGLIB работает "под капотом" и обеспечивает прозрачную асинхронную обработку ваших методов.
276 3256485
>>54423
спасибо за инфо, анон, единственная причина обновляться.
Переключился, вроде полет нормальный.
277 3256486
>>54921

>5к RPS 20kk DAU ten nines AVL



This phrase likely describes a high-performance, highly available system expected to handle 5,000 requests per second, support 20 million daily active users, and achieve an availability of 99.99999999%. This would be a system designed for extreme reliability and scalability.
278 3256574
>>47604
А что за гайд для вкатунов?
279 3256599
280 3256602
>>56574

>Перспективы для Java-разработчика или почему ты не хочешь вкатываться в джаву


Примерно с начала 2023 вкат в айти закрыт, и это, при ретроспективном наблюдении спустя два с половиной года после начала конца, будет с нами навсегда. ИИ пузырь лопнул, политические причины в России теперь мало влияют на рынок, но к тому, что было раньше рынок IT не вернулся даже близко. За всё время оттепели рынок вырос процентов на 10%, и, похоже, вышел на плато. Такими темпами мы даже к 2030 году, когда ИИ будет на самом деле заменять программистов полностью, не получим рынка, в который возможно вкатиться.

Если же, всё же, говорить про успешный вкат, то джава это в основном работа на визгливого менеджера, часто женщину с фетишем на фемдом, который она высовывает далеко за пределы секса, на помойных проектах со спрингом и говнокодом, иногда с легаси говнокодом. Годнота среди галер, тем не менее, тоже есть.

Фриланса на джаве за исключением майнкрафта нет, но в копрокубах деньги не водятся (анальник на спринге на одну свою среднюю зарплату может выкупить всю сферу), благодаря бесчисленным толпам школьников, готовым работать за едудонат на сервере: средняя цена за плагин для майнкрафта на весну 2024 года около 250 рублей.

"Чёт хуйня! Мне не нравится. Может, другой язык выбрать?", или почему ты, всё же, хочешь вкатываться в джаву
В других языках ещё хуже. Как по перспективам для вката, так и по качеству языка.
281 3256651
>>56602
Школоло-аналитика подъехала: копрокубы в одном ряду с тырпрайзом и жыром про нейронки. Жги еще.
282 3256714
>>56651
Это не я писал, это с шапки
283 3256829
>>56469

>Спринг какой версии?


Да у меня никакой ни с чем не работает лол

Хоть и не помогло, но ,все равно, спасибо, Анонче, за твое время
1724682319978.mp42,8 Мб, mp4,
1280x720, 0:26
284 3256840
285 3256977
>>56840
Хорошее
JIT-компиляция 286 3257152
Ранее писал вопрос про подводные камни JIT-компиляции.
Так вышло, что тут мне толком никто не ответил, однако сегодня путем эксперимента удалось выявить, что при jit-компиляции каких-то очень нагруженных методами классов java съедает чуть ли не в два раза больше памяти, чем при отсутствии jvm-компиляции(посредством использования флага -Xint)
287 3257181
а где-нибудь можно взять ключ для IntelliJ IDEA? Скачивал с рутрекера, но там ключ не подхожит :(
288 3257218
>>57181

Насколько я понял, Идея сейчас по подпис_очке, никаких ключей больше нет. Нужно либо EAP использовать, либо крякающий плагин от какого-то пиздоглазого лол. Если прям дохуя надо, могу скинуть сайт с этим говном, но на свой страх и риск.
289 3257266
>>57181
Чувак, просто поставь эклипс
290 3257314
>>57181
Кряк с рутрекера как работал так и работает,плюсом ещё сам на 2024 обновился лол
292 3257507
Как работу-то искать?
image.png688 Кб, 987x658
293 3257546
>>57152
Ты херней занимаешься, что значит потребляет больше памяти? Кто потребляет: куча, служебные области, офхип? Сколько в хипе живых объектов? Ты просто увидел некий эффект от включения JIT и начинаешь фантазировать на тему причин этого, вместо того чтобы искать эти причины.

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

Самое очевидное предложение почему так происходит: скомпилированный метод работает быстрее и производит больше мусора, потому JVM зарезервировала больше места под кучу. Но это надо проверять.
294 3257631
>>57507
Папика искать, чтоб пристроил
295 3257764
Допустим у меня есть какой-то шаблон страницы, thymeleaf, freemarker, неважно. Как я могу узнать полный набор параметров, который нужен для его рендеринга? Как я могу узнать нужные типы параметров, чтобы построить json схему для описания входного объекта, например?
296 3257778
>>57152
Ты ебанутый? А где по твоему твоя скомпилированная параша должна храниться, м?
297 3257779
>>57764
Без сильной мозгоебли - скорее всего нет. Потому что какие-то параметры например могут не работать из-за всяких if всередине темплейта или еще макросы / подгрузка темплейтов извне. Можно чисто ради интереса попытаться соорудить некий обьект который будет вести себя как контекст с переменными и кидануть его в темплейт чтобы он просто фиксировал обращения, но это может быть геморно и ты врядли поймешь какие типы нужны.
298 3257806
Есть spring boot приложение, нужно где то хранить ключ для генерации токенов, ваши мысли ?
299 3257808
>>57314

>Кряк


Попрощайся с аккаунтами...
300 3257810
>>57806
В текстовом файлике на рабочем столе хранишь и всё
301 3257815
>>57806
Каких блэд токенов то, конекретно?

Секреты чтоли, типа JWT sign key? Тупо вынеси в спринг-конфиг, devops его значение на месте переопределит.
302 3257839
>>57806
переменная окружения при запуске
303 3257850
Привет, новичковый вопрос, я правильно понимаю, что в spring data jpa встроен хибернейт, который использует апи jpa и это по сути абстракция над базой данных, которая за нас делает всю работу с бд, а jdbc это уже устаревающая технология, это по сути просто драйвер, благодаря которому можно легко переключать разные бд и не менять при этом код, но sql запросы все равно придется прописывать. То есть все равно sql знать нужно, чтобы хотя-бы понимать что происходит на уровне ниже, если даже в проекте будет использоваться дата жпа, да и sql это база для бекенда. Что еще такого есть в спринге, что скрыто в новых реализациях, но знать надо? Например в спринг мвс есть какие-то сервлеты, это оно? Что еще есть?
304 3257858
>>57850
чтобы использовать хибернейт надо знать sql в два раза лучше. Чтобы понимать что сгенеренные запросы говно и как заставить эту дрянь делать относительно нормальные запросы
305 3257898
>>57858
Поэтому и спрашиваю
306 3257913
>>57808
Для кряка не нужен аккаунт,дебич
307 3257926
>>57898
а проще забить на хибернейт и писать запросы руками
308 3257949
Ладно, чуть перефразирую вопрос >>57850
Вот есть спринг фреймворк - это сама база, IoC контейнеры, депенденси инжекшен, вот это вот все, а спринг бут это уже современная реализация, где под капотом скрыт спринг фреймворк, собираюсь выучить сам спринг фреймворк, лучше это сделать сразу, или после того, как разобрался в спринг бут, создал пару крудов, как считаете?
309 3257951
>>57949
Конечно же сначала обычный спринг,нахуя становиться макакой без понимания кишков с самого начала
310 3257963
>>57951
Наверное ты прав, сам начал с кора, поделал пару бин контейнеров и пошел на спринг буте писать, начали появляться всякие баги, которые пофиксил кое как с чат гпт, последую твоему совету и полностью разберусь с кором, если надоест, буду чередовать с основным проектом на буте
311 3257967
>>57926
99% всех вакансий требуют хубирнейт на уровне влэйда михулеску
312 3258006
>>57913
Я имею ввиду, что там вирусы, и у тебя угонят аккаунты.
313 3258012
>>57181
Не занимайся хуйней и поставь эклипс
314 3258026
>>58012
Про эклипс кроме дедов никто и не вспоминает даже. Альтернатива идее - вскод.
315 3258207
>>58026
Мне вскод не нравится, эклипс лучше, все таки полноценная ide
316 3258575
>>58012
Двачую
>>58026
Вскод кал. В нем как-то всрато код рисуется, сложно долго читать
317 3258596
А что, Идея совсем неюзабельная, что вы альтернативы ищете?
318 3258608
>>58596
Это вкатунское говно усирается, что у него тормозит на нетбуке за 10к. У нормальных людей все работает. А эклипс я в гробу видел, наработался уже в десятых на нем, спасибббба
319 3258611
>>58026
Какая нахуй вскод альтернатива? Никто в нем не работает. Идея, эклипс, нетбинс в редких случаях встречается
320 3258612
>>58608
+15 дней подписки
321 3258625
>>58608
Для вкатунов как раз и лучше сразу привыкать все руками писать в эклипсе, жидея много работы за тебя делает и толком ничему не научишься, а насчет багов, они не от железа зависят, в треде много раз писали, что баги в этой иде и приходится по 5 раз на дню перезапускать
322 3258686
>>58612
Какие еще 15 дней, минимум 六个月!

>>58611

>>эклипс, нетбинс


Дизайн из девяностых, выглядит как говно, пользоваться просто неприятно. Уж лучше вскод.

>>58611

>>Никто в нем не работает


У лида видел. У фулстеков и тестировщиков попадается.
Экслипс не видел ни разу. Кроме джавистов про него никто и не знает даже.

>>58625

>>лучше сразу привыкать все руками писать в эклипсе, жидея много работы за тебя делает и толком ничему не научишься


Серега, как раз наоборот - идея терпеливо объясняет почему код не скомпилируется или плохо написан, расставляет точки с запятой, дописывает бойлерплейт и позволяет вкатуну не отвлекаться на это говна и сосредоточиться на самой логике.
На эклипсе он напишет говно код и будет рад, на идее увидит что все подчеркнуто варнигами и полезет читать что не так с его кодом.
323 3258693
>>58686

> Дизайн из девяностых, выглядит как говно, пользоваться просто неприятно. Уж лучше вскод.


Нравится-не нравится, терпи, моя красавица. Нет таких проектов, где работают в вскоде, скажут сидеть в нетбинсе, будешь придрачиваться. А эклипс очень даже хорош
Вскод как по мне в мелочах всратее
324 3258696
>>58686

> Экслипс не видел ни разу. Кроме джавистов про него никто и не знает даже.


Мейби потому что это иде для джавы?
325 3258712
>>58693

>>скажут сидеть в нетбинсе


зачем работать там где сидят на джаве 5, нетбинсе и прочем легаси?

>>58696
иде для джавы это жидея
326 3258728
>>58712
Я не настолько избирательный, заплатят, буду джава 5 ковырять. Это педики всегда нос воротят от мужской работы

> иде для джавы это жидея


И вскод, судя по твоим постам
327 3258770
>>58686
+15 дней подписки
328 3258788
>>55099
Где когда ??!?!?!
sub.JPG18 Кб, 767x201
329 3258792
>>58770

>>+15 дней подписки


他妈的你去吧笨蛋
330 3258799
>>58792
+15 дней подписки
image.png288 Кб, 478x614
331 3259041
332 3259071
Почему в спецификации jdk 17 отсутствует упоминание о metaspace ? Потому что metaspace НЕТУ в jdk 17 !!!!!!

https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-2.html#jvms-2.5

ОТСУТСТВУЕТ !!!!

ТУПЫЕ ОРАКЛЕ МАКАКИ УБРАЛИ ЕЁ ИЗ СПЕЦИФИКАЦИИ, НО ЧАТ ГОПОТА ДОКАЗЫВАЕТ ЧТО ОНА ВСЁ ЕЩЁ ЕСТЬ !!!
333 3259295
>>59071
Причина подрыва?
334 3259464
Поясните, когда вальгала выйдет, я смогу написать на джаве свой игровой движок с норм производительностью, как на плюсах?
335 3259580
>>59464
Ебанат пустоголовый,мне бургер и колу зеро и побыстрее
336 3260456
>>55181
Нафига тебя нагрузили этим, если ты не специалист в Java ? Судя по тому что ты расписал, тебя ждет веселуха. Вот был бы я с вами, все б разрулили. В твоем плане есть прорехи, которые как раз от того, что с джавой и спрингом ты не работал. Вот смотри:

>2. Сам maven, settings.xml и pom.xml. Дело даже не в том, что он многословен, а в том, что подход работы maven контринтуитивен тому же .net cli, npm и прочему, где одна команда делает только то, что в ней забито, а не выполняется куча ебучих целей по lifecycle, которые приходится скипать доп.аргументами. Может, конечно, я пока читал жопой и не до конца разобрался, как это конфигурировать правильно



Он кажется тебе контринтуитивным, потому что ты с ним не работал.
Да, Maven староват, но вполне себе еще рабочее решение. Если ты сейчас начнешь переделывать все на gradle, потому что там build файл по размеру меньше, ты захлебнешься в работе. Поверь, это сложная миграция. Без супер нужды, я бы не стал этого делать, если только для нового проекта брать.

>3. Код нихуя почти не документирован, у меня прям жопа горит с этого. Как коллеги разрабатывают это уже который год я ума не приложу. Даже ебучий ман как запустить проект я писал самостоятельно, потому что это знание, словно, блядь, предание какое-то древнее передавалось исключительно из уст в уста



Ну здесь видимо потому что поленились. Они работали долгое время на проекте и лично им это было не нужно, они все из кода понимали, вот и не написали. Это классика) Остались контакты бывших разработчиков для консультаций?

>когда у тебя в проекте error-code буквально генерится РАНДОМОМ


Пхахахахахахаха! Пиздец!)

>что микросервисы даже порой взаимодействуют не только со своей схемой БД, а общаются между собой не через kafka, а простыми запросами по HTTP,


А вот здесь не очень понял? Что плохого, если микросервисы общаются по ресту? Ну да, там будет небольшое латенси из-за сети, но кафка только для асинхронного взаимодействия, а если тебе ответ нужен прямо здесь и сейчас ?

>2. Дотьюнить набор необходимых --add-opens для старта проекта в связи с миграцией на java 17, чтобы исключить набор плавающих ошибок (банально, чтобы нормально работал и не падал ignite в рандомный момент времени)



"Дотьюнить", ну насмешил. Напихать --add-opens это не решение ) Нужно переписывать код по-хорошему. Никто уже игнайт не использует, он написан для джавы версии "говно мамонта", поэтому пока не будет рефакторинга на нормальную альтернативу, у вас будет все на соплях держаться. Если Игнайт у вас как кэш идет, то надо менять на Hazelcast или Redis.

>3. Нормально прописать application.yml и application-local.yml



Чо значит "нормально прописать"? Чаще всего в пропертях стоят стандартные свойства, которые используются стартерами спринг бута, можно кликнуть на них и посмотреть исходник, там есть документация. Или там какие-то самописные свойства?

>4. Перейти на OpenFeign для настройки httpclient, вместо resttemplate



Зачем?? В Spring Boot есть WebClient, рекомендованный документацией, с помощью которого можно писать как синхронный, так и реактивный-асинхронный код.

>5. Начать перепиливать кал на что-то более вменяемое одновременно с самодокументацией



Spring Boot умеет сам себя документировать
если есть open api в проекте
https://springdoc.org/
или с помощью тестов, пишешь тесты, генерируешь документацию
https://docs.spring.io/spring-restdocs/docs/current/reference/htmlsingle/
336 3260456
>>55181
Нафига тебя нагрузили этим, если ты не специалист в Java ? Судя по тому что ты расписал, тебя ждет веселуха. Вот был бы я с вами, все б разрулили. В твоем плане есть прорехи, которые как раз от того, что с джавой и спрингом ты не работал. Вот смотри:

>2. Сам maven, settings.xml и pom.xml. Дело даже не в том, что он многословен, а в том, что подход работы maven контринтуитивен тому же .net cli, npm и прочему, где одна команда делает только то, что в ней забито, а не выполняется куча ебучих целей по lifecycle, которые приходится скипать доп.аргументами. Может, конечно, я пока читал жопой и не до конца разобрался, как это конфигурировать правильно



Он кажется тебе контринтуитивным, потому что ты с ним не работал.
Да, Maven староват, но вполне себе еще рабочее решение. Если ты сейчас начнешь переделывать все на gradle, потому что там build файл по размеру меньше, ты захлебнешься в работе. Поверь, это сложная миграция. Без супер нужды, я бы не стал этого делать, если только для нового проекта брать.

>3. Код нихуя почти не документирован, у меня прям жопа горит с этого. Как коллеги разрабатывают это уже который год я ума не приложу. Даже ебучий ман как запустить проект я писал самостоятельно, потому что это знание, словно, блядь, предание какое-то древнее передавалось исключительно из уст в уста



Ну здесь видимо потому что поленились. Они работали долгое время на проекте и лично им это было не нужно, они все из кода понимали, вот и не написали. Это классика) Остались контакты бывших разработчиков для консультаций?

>когда у тебя в проекте error-code буквально генерится РАНДОМОМ


Пхахахахахахаха! Пиздец!)

>что микросервисы даже порой взаимодействуют не только со своей схемой БД, а общаются между собой не через kafka, а простыми запросами по HTTP,


А вот здесь не очень понял? Что плохого, если микросервисы общаются по ресту? Ну да, там будет небольшое латенси из-за сети, но кафка только для асинхронного взаимодействия, а если тебе ответ нужен прямо здесь и сейчас ?

>2. Дотьюнить набор необходимых --add-opens для старта проекта в связи с миграцией на java 17, чтобы исключить набор плавающих ошибок (банально, чтобы нормально работал и не падал ignite в рандомный момент времени)



"Дотьюнить", ну насмешил. Напихать --add-opens это не решение ) Нужно переписывать код по-хорошему. Никто уже игнайт не использует, он написан для джавы версии "говно мамонта", поэтому пока не будет рефакторинга на нормальную альтернативу, у вас будет все на соплях держаться. Если Игнайт у вас как кэш идет, то надо менять на Hazelcast или Redis.

>3. Нормально прописать application.yml и application-local.yml



Чо значит "нормально прописать"? Чаще всего в пропертях стоят стандартные свойства, которые используются стартерами спринг бута, можно кликнуть на них и посмотреть исходник, там есть документация. Или там какие-то самописные свойства?

>4. Перейти на OpenFeign для настройки httpclient, вместо resttemplate



Зачем?? В Spring Boot есть WebClient, рекомендованный документацией, с помощью которого можно писать как синхронный, так и реактивный-асинхронный код.

>5. Начать перепиливать кал на что-то более вменяемое одновременно с самодокументацией



Spring Boot умеет сам себя документировать
если есть open api в проекте
https://springdoc.org/
или с помощью тестов, пишешь тесты, генерируешь документацию
https://docs.spring.io/spring-restdocs/docs/current/reference/htmlsingle/
337 3260517
>>59464
ты и сейчас можешь, тем более его уже написали, LWJGL
будет просто удобнее
338 3260574
Код с var как обрезанный хуй. Выглядит убого, но многим почему-то нравится.
339 3260608
>>59464
Даже быстрее.
340 3260623
>>55181

>А также охуеть какой техдолг


>сам дотнетчик


Еще один "улучшатель" и тем более шарпомуха, лол. Не разобрался в проект и уже выдал свое "ценное" мнение. Такие улучшатели потом жидко дают в рейтузы и бегут обосранные менять работу, т.к. въебали 1.5кк человеко часов и нихуя не сделали
Снимок экрана20240831092910.png96 Кб, 1920x1080
341 3260632
Почему SceneBuilder для JavaFX такое глючное говно? Несколько раз запустил его и пропали сначала все элементы интерфейса, а потом начали пропадать категории. Как это исправить?
342 3260645
>>60632
Многопоток может просрал?
343 3260753
>>48304
Там же наоборот дохуя чего убрано, она короче стала и правильно сделали
344 3260793
>>60753
А что убрали? Свинг?
Меня тоже бесило, что он есть. Но примеры на нем норм были, когда многопоточку демонстрировали.
345 3260863
>>60793
Ну да
Про дженерики сокращён раздел
Ничего про gui
346 3261748
Хули ни одного поста за сутки?
347 3261762
>>61748
Постите сами.
348 3261774
>>61748
Бот сломался
349 3261808
Завтра на РАБоту пиздос...
350 3261996
>>60574
В коде с var хотя бы не надо указывать типы по два раза. Впрочем я бы и рад вообще ровно ноль раз их указывать, пусть компилятор этой хуйней мается; он уже чекает сабтайпы и умеет находить наиболее общие типы.
>>60863

>Про дженерики сокращён раздел


Что типа среднему жавану нахуй не нада?
>>61748
22 и 23 жаба проходняк, что еще обсуждать?
351 3262014
>>61808
У него есть РАБота и он жалуется
352 3262175
>>61996

>22 и 23 жаба проходняк, что еще обсуждать?


к 25ой вальгаллу подвезут?
353 3262185
>>62175
Вряд ли. Но в превью могут, теоретически.
354 3262194
>>62175
))))
Мб string template вернут, в качестве превьюхи, но не более. Вот к 29, возможно что-то да допилят
355 3262196
>>62194
+15 гетсетов
356 3262199
>>62196
Через годик посмотрим, няш.
357 3262206
>>62199
Лум вот тоже долго пилили и быстро выкатили, в 19 превью, в 21 релиз. Но аналог 19 в цикле 21-25 это 23, и там вальхаллы нет, поэтому я говорю, что может быть превью только.
358 3262288
>>62175
Как и с любым концом света - вальхала уже почти наступила, уже прям скоро, но не в следующей версии, но вы продолжайте верить.
Хотя лума дождались, мб и до вальхалы доживем.
hhcEba.mp42,1 Мб, mp4,
540x960, 0:31
359 3262506
Господа, какая работа в Джаве? Я правильно понимаю, что 99% вакансий -- это настройщик Спринга?

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

Честное благородное, я не тролль :)
360 3262524
>>62506

>> работах довольно сложно себя проявить


Так закрой больше всех тасок, за меньшее время, тебя и заметят
361 3262547
>>62506

> настройщик Спринга


Настройщик срыга это больше шутка, чем реальность. Срыг-программист очень многое пишет сам как белый человек и около 30% времени тратит на пердолинг срыга для достижения того, на что без срыга было бы потрачено 5% времени.
362 3262556
>>62506
Да, это так.
К сожалению, с этой работой - просто сделать хорошо, просто и быстро - большинство не могут справиться и начинают наворачивать микросервисы на кубернетисы.
Работа на джаве - это не проявление себя, это решение бизнес задач, а они в большинстве своём алгоритмически предельно тупые.
363 3262559
>>62288

>Хотя лума дождались, мб и до вальхалы доживем.


Ну вот реально - зачем? У тебя конкретно был ботлнек на IO? Или ты в своем проекте вручную раскладывал байтики по массивам?
364 3262563
>>62547

>около 30% времени тратит на пердолинг срыга для достижения того, на что без срыга было бы потрачено 5% времени


Точняк! Делов то
doPost(HttpServletRequest, HttpServletResponse)
написал, web.xml отредактировал и всё.
365 3262595
>>62559
Лум это решение проблемы 10к. Теперь не надо ебаться в асинки и писать как раньше, в тупую создавая мириады тредов.
По поводу байтиков, лично ты этим не занимаешься, но хэшмапа, к примеру, занимается. Там ебать какая экономия выходит, если посчитать. Также и с LinkedList, возможно к нему наконец найдется применение. Ну и самое главное в вальхалле это даже не перфоманс, а возможность пихать примитивы в женерики и коллекции без накладных расходов.
17252877139540.jpg263 Кб, 824x983
366 3262643
Аноны, посоветуйте курс по спрингу, хороший, доступный, понятный, бесплатный. У меня финишная прямая до первой работы, джаву победил, остался спринг.
367 3262664
>>62643
Может тебе еще минет оформить?

Информации по спрингу нет нигде.
368 3262684
>>62595

>Теперь не надо ебаться в асинки и писать как раньше


Так и раньше не надо было, большинство ПО работало на обычных тредах без проблем, потому что такой нагрузки нет практически ни у кого
369 3262688
>>62684

>такой нагрузки нет практически ни у кого


Ну тут хуй знает, статистика нужна, но на слово поверю. Мне тоже не кажется, что лум координально что-то поменял.
Вальгалла в этом плане для меня важнее, поскольку делает мост между примитивами и объектами. Но я бля вообще не верю, что через год она будет в превью, да даже в инкубаторе.
image.png628 Кб, 604x417
370 3262710
>>62643

>финишная прямая до первой работы


>остался спринг

371 3262746
>>62643
бесплатно может на торентах найдешь от фирмы ОТУС. А вообще нормальный курс по спрингу у них стоит больше 100 тыс, можешь чекнуть. Сам его покупал и это топчик.
372 3262759
>>62746
>>62643
в чем вообще профит от курсов? ты платишь людям, чтобы они за тебя гуглили?
373 3262778
>>62643
алишев, дмдев
374 3262788
>>62643
Он на сайте спринга, называется документация
375 3262798
>>62506

>>сложно себя проявить


да, тебя будут закидывать рутинными тасками и тебе самому не очень будет хотеться брать что то сложное

>>что-то оптимизировать, применить хитрый алгоритм


Таких моментов дохуя, но они завязаны на бизнес логику. Дроченые литкоды не помогут, надо глубоко понимать куда код писать.
В целом нет правильного решения, есть много трейдофов и скил в том чтоб правильно подобрать вариант.

Ну и если времени дохуя - можешь запросы в базу пооптимизировать, но не всегда от этого реальный выхлоп будет заметен.
376 3262814
Я правильно понял, что например List<T> может содержать одновременно и объекты класса Т и его наследников одновременно, а List<? extends T> может содержать объекты только одного типа, либо Т либо наследники?
377 3262815
>>62814
Наследника* быстрофикс
378 3262821
>>62814

>List<T> может содержать одновременно и объекты класса Т и его наследников


Да.

>а List<? extends T> может содержать объекты только одного типа, либо Т либо наследники?


Нет. Сделать мономорфными списки сложно.
Этот вайлдкард подразумевает, что перед тобой список, который может быть как T, так и выше, а следовательно добавлять в него элементы нельзя. Иначе выражаясь, везде где будет в аргументах методов List указан T, с вайлдкардом extends их больше нельзя будет пихнуть, ибо небезопасно

А вообще забей ты хуй на это
379 3262827
>>62710
Вот этого поддвачну.
380 3262828
>>62821
Пиздос как тяжело в этом разобраться, самое главное это нельзя в такие списки что-то добавлять
Без названия (3).png1 Кб, 50x43
381 3262830
>>62643
Официальная документация
382 3262831
>>62830
Блять
383 3262837
>>62828
Нуу... Как нельзя) Из этого есть два исключения. Первое очевидно null, поскольку это подтип всех типов. А вот второе очень интересно с т.з. системы типов, поскольку оно как бы берет и сжимает capture до переменной типа, как бы превращая это множество в некий тип.

Вот тебе пример наглядный: https://pastebin.com/pU16MSq4 изучи, где ошибки, а где все норм с т.з. компилятора
384 3262891
>>62759
в том что там есть домашние работы, которые проверяет препод помогает тебе делать правильно, а не абы-как если ты сам делаешь домашки в одного по спиженым с торентов курсов.
Ну + еще в чате можно всегда у препода поинтересоваться, как сделать правильно то или иное решение.
385 3262897
>>62837
Да уж, нагрузил ты меня, ну суть я вроде уловил, что при инициализации списка с вайлдкардс тип у списка может быть любой, он явно не указан, поэтому компилятор не разрешает туда добавлять элементы кроме null, а капчур конвеншен это как я понял приведение из неявного типа дженерика в явный, в общий, пошел я спать короче
386 3262914
>>62897
Вроде все так.
Кстати, не стоит заостряться на контейнерах, типа хотя обычно дженерики только для всяких листов и используют, но они этим не ограничиваются. И мыслить онли в парадигме, producer = extends, consumer = super (PECS) не стоит.

Stream очень хороший тому пример.
387 3262936
>>62828

Ты смотри на это не с точки зрения самого списка - так ты никогда не поймешь. Размышляй системой типов, и ссылками - так проще. Есть ссылка, есть ее значение. У ссылки есть тип, и у значения есть тип (на самом деле не совсем, но на время забудь о нулях, generics type erasure и прочих нюансах джавовой системы типов). А джаве надо гарантировать что тип значения типу ссылки соответствует. Все - это все что нужно держать в уме чтобы понять дженерики.

Вот есть у тебя ссылка типа List<T>. Это означает что значение у этой ссылки тоже - строго List<T>. Все чотко-ясно-понятно - ты берешь эту ссылку и начинаешь с ней работать , зная что у тебя она гарантированно указывает на лист объектов типа T. Читая по такой ссылке из листа объекты, ты знаешь что они будут типа T. И так как все чотко-ясно-понятно, нет никаких двусмысленностей с добавлением-удалением элементов такого листа по такой ссылке, и они возможны и разрешены.

А теперь представь что у тебя в руках хуй ссылка типа List<? extends T>. То есть ссылка на лист элементов T, либо лист наследников от элемента T (пусть для примера тип TT будет наследником T). А теперь подержи в руках хуй эту ссылку, пожамкай, и подумай:

- что произойдет, если по этой ссылке ты попытаешься добавить объект, скажем, типа T, но значением ссылки будет List<TT>? В лист по ссылке просочится объект, которому там быть не положено. Обсер - покоррапченный список.

- что произойдет, если по этой ссылке ты попытаешься добавить объект, скажем, типа TT, но значением ссылки окажется List<T>? Ну, в общем то, то же самое.

Причем учти - держа в руках хуй ссылку типа List<? extends T> ты заранее не знаешь, на List<T> она указывает или на List<TT>, и предположений на этот счет делать не имеешь права. По честному, через ссылку List<? extends T> добавлять в список ты ничего не имеешь права, потому что никто тебе не даст гарантии что там по ссылке сидит именно список List<T>, а не List<TT> или еще кто то. Такие пироги.

Про List<? super T> можешь провести такой же мысленный эксперимент сам.

Мимо
387 3262936
>>62828

Ты смотри на это не с точки зрения самого списка - так ты никогда не поймешь. Размышляй системой типов, и ссылками - так проще. Есть ссылка, есть ее значение. У ссылки есть тип, и у значения есть тип (на самом деле не совсем, но на время забудь о нулях, generics type erasure и прочих нюансах джавовой системы типов). А джаве надо гарантировать что тип значения типу ссылки соответствует. Все - это все что нужно держать в уме чтобы понять дженерики.

Вот есть у тебя ссылка типа List<T>. Это означает что значение у этой ссылки тоже - строго List<T>. Все чотко-ясно-понятно - ты берешь эту ссылку и начинаешь с ней работать , зная что у тебя она гарантированно указывает на лист объектов типа T. Читая по такой ссылке из листа объекты, ты знаешь что они будут типа T. И так как все чотко-ясно-понятно, нет никаких двусмысленностей с добавлением-удалением элементов такого листа по такой ссылке, и они возможны и разрешены.

А теперь представь что у тебя в руках хуй ссылка типа List<? extends T>. То есть ссылка на лист элементов T, либо лист наследников от элемента T (пусть для примера тип TT будет наследником T). А теперь подержи в руках хуй эту ссылку, пожамкай, и подумай:

- что произойдет, если по этой ссылке ты попытаешься добавить объект, скажем, типа T, но значением ссылки будет List<TT>? В лист по ссылке просочится объект, которому там быть не положено. Обсер - покоррапченный список.

- что произойдет, если по этой ссылке ты попытаешься добавить объект, скажем, типа TT, но значением ссылки окажется List<T>? Ну, в общем то, то же самое.

Причем учти - держа в руках хуй ссылку типа List<? extends T> ты заранее не знаешь, на List<T> она указывает или на List<TT>, и предположений на этот счет делать не имеешь права. По честному, через ссылку List<? extends T> добавлять в список ты ничего не имеешь права, потому что никто тебе не даст гарантии что там по ссылке сидит именно список List<T>, а не List<TT> или еще кто то. Такие пироги.

Про List<? super T> можешь провести такой же мысленный эксперимент сам.

Мимо
388 3262937
>>62891
Так мб ментора нанять просто? Намного дешевле ж выйдет.
389 3262941
>>62821
>>62936

Вот этот анон кстати немного слукавил, ответив на твой вопрос "да". Формально он прав - в List<T> действительно могут быть наследники от T - в конце концов subtyping никто не отменял. Но прикол в том, что, держа в руках ссылку на List<T>, и, например, читая элементы списка по ссылке List<T>, ты также не имеешь права делать заранее предположения, что у тебя прочтется. Сигнатуры всех методов для чтения из такого списка будут возвращать тебе T, твердо и четко. А дальше уже сам разъебывайся, проверяя полученный объект на instanceof и прикащивая к чайлдовому типу, там уже полномочия дженериков - усе...
390 3262959
>>62814
Забей хуй на это. Это ебала для разработчиков библиотек. 99% программистов просто пишут один тип без всяких супер и экстендс и в душе не ебет, что такое ковариантный и контрвариантный.
391 3262968
Пишу достаточно крупный проект.
Так вышло, что есть очень крупная система классов.
Теперь сама суть вопроса: чтобы не появилось проблем с классами в одной иерархии будет ли логично сделать конструкторы, которые позволяли бы получать объект нужного класса из объектов суперкдассов или дочерних классов, или лучше использовать приведение типов и надеяться на то, что все пронесёт?
392 3262970
>>62968
Хуйню несёшь, вкатун.
393 3262974
>>62968
Ты знаешь, что такое виртуальные функции и зачем они нужны?
1725342913198.png407 Кб, 1200x1216
394 3263051
>>62936

> что произойдет, если по этой ссылке ты попытаешься добавить объект, скажем, типа TT, но значением ссылки окажется List<T>? Ну, в общем то, то же самое.


Так это можно, главное, чтобы фактический тип объекта списка был таким же, как статический тип ссылки. У параметризованных типов нет наследования просто. ArrayList<Integer> как бы не подтип ArrayList<Number>. Хотя это все существует только для компилятора, после компиляции все стирается

Вот на картинке из книги все понятно
395 3263059
>>63051
А, там анон уже про wildcard писал, я в глаза ебусь
396 3263194
>>62959
База, а еще эти же 99% даже гордятся этим, мол ты че бля, самый умный. Вот бы найти тот самый 1% и общаться только с ними
397 3263219
>>62974
Да.
Но так вышло, что те, кто делал проект до меня, реализовали огромную часть всего через набор статичных методов.
Проще говоря: виртуальные функции в проекте простые сеттеры, геттеры, штуки для сравнения содержимого.
Статичные методы делают основную работу. Они не изменяют содержимое объектов, однако их сигнатура была прописана только для основных классов в проекте. И теперь возникает мысль, стоит ли полагаться на приведение ссылочных типов или лучше реализовать конструктор для создания объектов основных классов из всех остальных, чтобы в случае чего не возникло неприятностей.
398 3263248
>>62968
Я чет ничего не понял

>чтобы не появилось проблем с классами в одной иерархии


каких именно проблем?

>лучше использовать приведение типов и надеяться на то, что все пронесёт?


Ты можешь проверять через instanceof и не надеяться
399 3263325
>>63194
Душнил которые в рабочее время доебываются до мелочей не по делу всегда найдешь.
А если тебе хочется просто пообсуждать теоретическую ебалу - то ты уже на месте.
400 3263353
>>62936

>Обсер - покоррапченный список.


Вот я не могу понять - почему обсер и коррапченный список? Это же просто список ссылок, длина в памяти самого списка не изменится, каждая ссылка в списке гарантированно будет типа lower bound, конкретный тип можно проверить при чтении. В чем коррапт?
image.png71 Кб, 1185x804
401 3263366
>>63353
В <? extends T> можно передавать списки состоящие из наследников T, например тот же TT. И каждый get из списка будет кастить к TT, однако если ты туда запихнешь T, он никак не прикастится к TT. Это и есть типикал heap pollution. И никакая гарантия lower bound не спасет.
402 3263440
>>63194

>Вот бы найти тот самый 1% и общаться только с ними


Иди в скалу
403 3263454
Пиздец, дженерики это же дохуя тяжело, 1% людей понимают. Вы с ума сошли что ли
404 3263486
85 iq опять мнит себя топ 1%. Лол.
405 3263854
>>63325
Жаваны злые, они меня везде обижают.
>>63440
Не думаю, что в ней все поголовно пишут либы, тем более, что скала позволяет игнорить всю эту чушню с типами и писать +-типикал жаба код.
406 3264141
>>63854
Не жаваны злые, а ты твоё чсв слишком неуместно при твоей-то тупоголовости.
407 3264153
>>63353
А всегда ли? Представь на минуту, что иерархия глубже.

Путь есть:
- базовый тип T,
- тип TT extend T,
- и тип TTT extends TT

У тебя на руках ссылка List<? extends T>. Ты добавляешь в нее TT. По факту, ссылка ссылается на List<TTT>.

Обсер? Обсер.
408 3264160
>>64141

>ты твоё чсв слишком неуместно


Не замечал в себе чсвшности. А уж как ты его вычислил за пару постов так вовсе загадка.
409 3264164
>>63353

>Это же просто список ссылок, длина в памяти самого списка не изменится, каждая ссылка в списке гарантированно будет типа lower bound, конкретный тип можно проверить при чтении. В чем коррапт?



Чтобы это осознать, надо смотреть на ситуевину глазами клиента.

Вот представью. Ты - клиентский код. Гришь:

var a = new List<TT>();

Получаешь уютный списочек, куда можешь докидывать элементы TT. И предположим что где то обьявлен метод:

void диджей_еблан(List<? extends T> arg) {
arg.add(new T());
}

И представим на минуту что джава этому еблангу дала скомпилироваться.

А теперь делаем так:

var a = new List<TT>();

a.add(new TT()); //Не обсер

Main.диджей_ебан(a); //Не обсер, коллекция под вайлдкард подходит

for(TT i : a) {
//похуй че в теле
}

И на цикле жрем говна в рантайме и ClassCastException, потому что один из элементов списка a не присваиваем типу TT переменной i.
409 3264164
>>63353

>Это же просто список ссылок, длина в памяти самого списка не изменится, каждая ссылка в списке гарантированно будет типа lower bound, конкретный тип можно проверить при чтении. В чем коррапт?



Чтобы это осознать, надо смотреть на ситуевину глазами клиента.

Вот представью. Ты - клиентский код. Гришь:

var a = new List<TT>();

Получаешь уютный списочек, куда можешь докидывать элементы TT. И предположим что где то обьявлен метод:

void диджей_еблан(List<? extends T> arg) {
arg.add(new T());
}

И представим на минуту что джава этому еблангу дала скомпилироваться.

А теперь делаем так:

var a = new List<TT>();

a.add(new TT()); //Не обсер

Main.диджей_ебан(a); //Не обсер, коллекция под вайлдкард подходит

for(TT i : a) {
//похуй че в теле
}

И на цикле жрем говна в рантайме и ClassCastException, потому что один из элементов списка a не присваиваем типу TT переменной i.
410 3264210
>>64160
Ты в этом треде далеко не пару постов оставил.
411 3264219
>>64210
С чего ты взял, что это мои..
412 3264221
>>64219
Стиль письма. А то, что ты не видешь очевидное только подтверждает твои 85 iq.
413 3264241
Джаваны очень милые и добрые если не харкать им в ебало.
414 3264361
>>64221
Допустим.. Можешь тегнуть пост, где я чсвешил и тупоголовил? Хочу увидеть проделки этого мистера скретча.
415 3264383
>>64361
Ага, разбежался.
416 3264399
>>64241

>харкать им в ебало


ты прямо всю энтерпрайз-разработку описал
417 3264416
В джаве используют контейнеры докер и т.д.? Или разработка идет по старинке?
418 3264422
>>64416
Да, используются, и довольно активно.
419 3264423
>>64422

И как это выглядит? Всякие Спринги же тяжелые, стартуют долго?
420 3264432
>>64423
Даже если щас не углубляться в тот факт что долгостартующие спринги на поверку оказываются тупо пиздежом либо чьей то некомпетентностьбю - какая разница? Докеру не похуй?

Отвечая на твой вопрос - докер спокойно используется на всех стадиях, начиная от написания кода (у нас к примеру докер используется для генерации JOOQовых классов по схеме данных, которая через докер развертывается во время билда из flyway миграций), продолжая тестированием (testcontainers - база) и заканчивая разверткой.
421 3264443
>>64383
Эх, придется и дальше оставаться чсв мгхазью.
422 3264446
>>64423

>И как это выглядит?


Пишешь докер ран, ждешь от 30 секунд до минуты
423 3264463
>>64423

>Всякие Спринги же тяжелые, стартуют долго?


Если сравнивать с гоу, то да, очень долго. Обычно старт занимает в среднем минуту-полторы на среднем проекте, плюс пока там жэвиэм прогреется. Все это негативно сказывается на том же интеграционном и энд ту энд тестировании
424 3264671
>>64423
а) не похер ли, если обычно делают rolling update, то есть практически всегда на время старта одного пода есть работающие другие
б) в основном инициализация пула коннектов к базе много занимает, это можно подтюнить
в) если это прямо сильно критично - есть Native image, но в подавляющем большинстве случаев это не настолько критично
425 3264854
>>64463
Че за унылый пиздеж,у меня самый жирный сервис секунд 20 максимум стартует
426 3264891
>>64854
Это правда, чистому спрингу нечего долго стартовать. Обычно старт замедляет все что связано с IO - инициализация пула коннектов к базе, накатывание изменений на базу, какие-нибудь рест запросы и т.д.
Плюс к тому можно делать то что раньше называлось "exploded jar", то есть просто папка с классами, тогда джвм не нужно тратить время на распаковку.
Так-то конечно реальных вычислений там и на 20 секунд нет.
427 3264898
>>64891
У меня спринг бутовое приложение которое читает из одной кафки и пишет в другую,плюсом это хазелькаст нода которая требует времени для объедения в кластер,20-30 секунд это максимальные цифры которые я видел
428 3264910
>>64854
Да это дебил-семен, легко палится по скуфиду, зумеры и т.д. Возможно шарпомуха
429 3265341
Если Спринг такой хороший, то почему никто из бигтеха его не использует, у кого есть реально большая нагрузка?

Все истории о том, что не могут добавить фичу по полгода или помидоры не могут найти баг -- это истории из джава-энтерпрайза. Разве не так?
430 3265354
>>65341

>Если Спринг такой хороший, то почему никто из бигтеха его не использует, у кого есть реально большая нагрузка?


Немодно. Хорошо еще что мода на ДЖС/ТС потихоньку сошла, а то бы сейчас уплетали за обе щеки микросервисы на джс, удавляясь, почему серверов не хватает.
431 3265375
>>65341
Вроде бигтех ничего кроме спринга и не использует,ты точно ничего не путаешь?
432 3265386
>>65375

Бигтех -- это не очередной банк.
433 3265403
>>65386
Банки и телеком,что ещё?
434 3265447
>>65341

>>это истории из джава-энтерпрайза


А разве есть другой энтерпрайз?
435 3265569
>>65341
Последние лет 5 активно съезжают на гоулэнг, т.к. тупо писать быстрее, не нужны мощные сервера и нет приколов спрэнг фримверка с хубирнейтом, когда у тебя незнамо откуда лезет стэктрейс на 100500 строк и сервис падает, либо хубирнейт генерит запрос с N+1 и у тебя база раком встает
436 3265721
>>65569

>Последние лет 5 активно съезжают на гоулэнг, т.к. тупо писать быстрее, не нужны мощные сервера и нет приколов спрэнг фримверка с хубирнейтом, когда у тебя незнамо откуда лезет стэктрейс на 100500 строк и сервис падает, либо хубирнейт генерит запрос с N+1 и у тебя база раком встает


Для этого не нужен отдельный язык, достаточно писать как инвалид на джаве 5й в процедурном стиле, что доступно уже 20 лет.
Я и говорю - клиповое мышление, переписываем каждый раз на current thing.
437 3265725
>>65721
Да это ебланидзе местный, пытается троллировать и срет в каждом треде. подозреваю, что это безработная манька-шарпомкх
438 3265901
>>62968
Ловите джуна, которого кинули на боевой проект в одну калитку.

Тебе нужно понимание, как работает инверсия зависимостей. Что такое бин и как работает IOC в спринге.

По сути тебе ручками бины нужно создавать в исключительных случаях, например:
- Зависимости в юнит- тесте через тестовый конфиг класс
- Создание объектов, которые необходимо сконфигурить определенным образом и тп
-
439 3266213
>>66149 (Del)

>При этом никак отдебажить ты его не сможешь, т.к. инструмнетов нет



Шарпей рот раскрыл - шарпей пиздит.
440 3266243
>>66149 (Del)

>При этом никак отдебажить ты его не сможешь, т.к. инструмнетов нет


чо?!
442 3266299
>>66296
Давно уже протухло.
443 3266301
>>66299

>Updated2024/08/20 20:19

444 3266310
>>66296
Эх вот бы выпустили java 2 работягам...
445 3266321
>>66310
А java 22 не хочешь, фантазёр?
446 3266322
>>66296
null вообще лишняя вещь. Её не должно было быть.
447 3266323
>>66322
Полюбуйтесь на этого дегенерата повторяющего за говорящими головами из ютуба без малейшей личной обработки.
448 3266324
>>66323
Это мое личное мнение. Bottom type по определению не должен быть получаем. Вот это истинный null https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html , а не то, что есть сейчас.
449 3266331
>>66324

> Это мое личное мнение.


Ну вот и иди нахуй.
450 3266332
>>66331
На твой?

Да и

>без малейшей личной обработки


>мое личное мнение


Бахнул без причины, настроение плохое что ли сегодня
451 3266334
>>66332
Всё это мишура. Суть в том, что ты приволок хуйню без аргументов, попутно демонстрируя свою тупость.
image.png2 Кб, 216x41
452 3266337
>>66334
Не у тебя точно тяжелый день был, что ты просто аргументы пропустил. Повторю еще раз более подробно.
Bottom type - это подтип всех типов. На данный момент под него подходит в основном null. Однако, для того, чтобы система типов была корректной, нижний тип не должен иметь экземпляра. Это прямая противоположность высшему типу(Object) экземплярами которого является вообще все типы.
Это нужно в основном только для одного, поскольку очевидно, что система типов есть формой логики, то вспоминаем пик1 формулу. Суть в том, что из абсурда можно получить все что угодно. Как ты думаешь, если такой тип будет существовать, то разве нельзя будет наебать систему типов подстроив правила так, чтобы из абсурда вывести любой другой тип? Обычно нет, но система типов жабы достаточно мощна для такого https://dl.acm.org/doi/10.1145/2983990.2984004

Это основная причина, почему это ошибка.
453 3266342
>>66337

> нижний тип не должен иметь экземпляра. Яскооооозаааал!


Тебе стоит узнать, что является аргументами.
454 3266367
>>66342

>такая реализация ломает систему типов, вот статья


>рррря где аргументы


Ясно, можешь больше не отвечать.
455 3266495
>>66213
>>66243
Тебе не поможет профуйлер, если у тебя проблемы с медленным стартом приложения. Прфлейр нужен только когда у тебя есть реальный трафик и ты можешь собирать данные хотя бы полчаса-час. Так работают профулеры в джэве. В спринге кста нет никаких инструментов отладки медленного старта. Приложение поднимается несколько минут? А хуй знает почему))) Иди смотри все паст каустакрыт и что ты там ефтчишь)))
456 3266502
>>66296
Удивляюсь как имбецилы берут уже реализованные идеи в других языках и делают откровенное говно. Ну посмотри как это сделано в котле, сишарпе или других нормальных языках. Ну нахуя ты выдумываешь свой особенный говносинтаксис и ломаешь устаявшуюся семантику? Вот поэтому бигтех и пишет на гоулэнге, а джавистов увольняет целыми отделами, а их помойные копролиты на спрэнг фримверке и хубирнейте тупо удадляет из репы и сворачивает поды в кубере
457 3266535
>>66322
Ебло тупое не знает что просто так удалить нулл -- переделать пол языка и рантайм
Мимо language designer
458 3266536
>>66337
Щас бы в жаба треде статьи кидать лол. По поводу soundness -- это решается проверками в рантайме с выбрасыванием ClassCastException и других. Если ты такой умный и хочешь за дизайнить статическую sound систему типов, то тебе точно не в промышленные языки, а в агду или lean.

Зачем ты нахрюкнул про null как зло в таком случае непонятно
Мимо >>66535
459 3266545
>>66502
В джаве объективно уже давно ничего не надо делать, все эти потуги просто чтобы показать, мол мы тут что-то делаем

> Вот поэтому бигтех и пишет на гоулэнге


Блядь, сколько такого уже было, бигтех и пишет на хайп-язык-нейм
Сегодня популярна одна жвачка, завтра другая
460 3266573
>>66535

>Мимо language designer


Сугака знаешь? Почему идея краснит год?!
461 3266575
>>66545
Почему-то бигтехи решили, что лучше спрыгнуть на гоулэнг и не насиловать разрабов, которые должны заучить все приколдесы JMM как стихотворение и помнить 100500 припизднутых хуиток из спрэнга и хубирнейта, чтобы собрать ололо круд
462 3266576
>>66502

>>как это сделано в котле, сишарпе


всякие скуфы типа гойца заворачивают такое, для них это недостаточно качественно и безопасно
463 3266577
>>66495

>А хуй знает почему


В лог посмотреть не судьба?
464 3266579
>>66575

>>Почему-то бигтехи решили, что лучше спрыгнуть на гоулэнг


Студента можно посадить на любой парашный стек, а потом он уже не уйдет, потому что работы нигде больше нет, а переучиваться ему будет лень.
465 3266580
>>66535
Ну конечно не знаю, куда уж мне до вас.
>>66536
Да, проблема которая должна решаться на этапе компиляции решается на этапе рантайма. заебись, четко. И это еще очень повезло, что дженерики стираются, иначе бы и в рантайме оно не работало.
466 3266622
>>66589 (Del)
Капчуешь из 2010? Какая нахуй разница, сколько он будет подниматься? Пускай выделят норм железо. Под приклада поднимается за минуту в среднем.

А если речь про локальный дебаг, то норм конторы обеспечили железом на аппле силикон/i7-i9 32 гб. И не тормозит ничего. Компилится быстро уася.
467 3266628
>>66622

В 2010 году как раз было всем похуй сколько поднимается. А сейчас принято чем быстрее, тем лучше.
468 3266638
>>66367

>вот статья которая относится приблизительно никак к теме


Ок.
469 3266643
>>66575

>спрыгнуть


С бетонными плитами на ногах из сотен тысяч строк джава кода они максимум на котлин медленно ползти могут
470 3266648
>>66643
Я лично участвовал в увольнение отдела джава скуфидонов в банке. Мы с пацанами то говно быстро переписали на гоулэнг и навсегда наказали скуфиду
471 3266649
>>66648

> Мы с пацанами то говно быстро переписали на гоулэнг и навсегда наказали скуфиду


А потом продленка закончилась и мамки повели вас домой делать уроки
image.png779 Кб, 870x581
472 3266653
>>66631 (Del)
Ты что вообще хочешь? Чтобы мы тут все оторвали жопу от стула и потопала голанг учить? Ну перейдут компании на голанг - пойдем учить, а может и не перейдут - дальше на жопе будем сидеть. Рядовой разраб на это мало влияет. В моменте сейчас у жавы как минимум больше вакансий, чем у го
473 3266654
Молодым-шутливым зумерам, конечно, лучше го учить хоть меньше долбоебов у меня в отделе будет
474 3266663
>>66495

>В спринге кста нет никаких инструментов отладки медленного


старта.
Все верно, потому что спринг - это просто еще одна джава программа, а инструменты в экосистеме. Так же как ты можешь понять почему долго работает любая джава программа - так же ты можешь и понять почему долго грузится спринг.

>Прфлейр нужен только когда у тебя есть реальный трафик и ты можешь собирать данные хотя бы полчаса-час.


Чел, частота самплинга настраивается. там не обязателен ни реальный траффик ни час работы.
Плюс, если уж тебе это действительно надо - есть JFR, записывай и смотри реальную нагрузку сколько угодно.

Кстати сам-то давно вкатился? Я ощущую у тебя примерно 5-6 месяцев реального опыта на джаве.
475 3266670
>>66663
Ничего ты не поймешь. Как говорил мой ментор димсаул - релакс дююд итс джэва))
476 3266686
>>66670

>Как говорил мой ментор димсаул


Ну то есть ты еще и волчара, в жирные ковидные годы вкатился?
477 3266706
>>66663

>частота самплинга настраивается


чел... это спрэнг фримервк, чел... что ты там собрался смотреть в профулере? как у тебя класспасс скрэнг сканирует? ну сканирует твои 100500 классов и че? ты на это повлияеть не можешь челл. это спрэнг и этим се сказкано. жди свои две минуты а потом лови эксепшен от сэрнга что контекст не окнтектс и бина не хнайте
478 3266709
>>66638
Статья, где говорится, как существование экземпляра null разрушает систему типов, делая unsafe coerce, абсолютно никак не относится к теме про то, что null - это ошибка. Интересно.

Я вообще начинаю думать, что проблема в том, что я просто не способен понятно для людей доносить мысли. И злобные жаваны пользуются этим, издеваясь надо мной.
479 3266714
>>66709
С тем, что от нулла есть некоторые проблемы никто и не спорил. Фактически же нулл отвечает за очень малый процент багов, а эфемерная неполноценность типовой системы по мнению неких Росс Тейт и Нады Амин стоящая за этими багами никого не ебёт. Есть задачи и поважнее.

> Я вообще начинаю думать, что проблема в том, что я просто не способен понятно для людей доносить мысли. И злобные жаваны пользуются этим, издеваясь надо мной.


Да нет, все всё прекрасно поняли. А вот ты как раз не понял за что тебя опускают в параше. Проблема не в изъяснении, а в понимании.
480 3266717
>>66714

>Фактически же нулл отвечает за очень малый процент багов


Хорошо наверное из головы статистику выдумывать, ведь есть задачи поважнее, чем искать стастику, да?

Да и если это реально так, то нахуя сделали жеп решаюший симптомы существования null? Задач поважнее не нашлось?

>А вот ты как раз не понял за что тебя опускают в параше.


Чтобы испортить мне настроение.
481 3266719
>>66717

> Да и если это реально так, то нахуя сделали жеп решаюший симптомы существования null? Задач поважнее не нашлось?


Потому что, наконец-то, дошли руки до этого 1% багов, очевидно.

> Чтобы испортить мне настроение.


"Чтобы" и "потому что" это ответы на разные вопросы. Портят тебе настроение потому что ты тупоголовый даун постоянно набрасывающий говна на вентилятор.
482 3266722
>>56602

>Примерно с начала 2023 вкат в айти закрыт


Вкатился джуном в джэву без накрутки опыта весной 2023, отдыхай.
483 3266723
>>66722
Но ценой этому было ужасное — двойка из-за несобранного портфеля.
быстрофикс
484 3266725
>>66719

>наконец-то, дошли руки до этого


Ну значит им не похуй, следовательно твой тезис "никого не ебет" уже хуйня. Причем ведь и до этого были жепы завязанные на null https://openjdk.org/jeps/358 . Ты просто пиздишь и дышишь, что ну это хуйня, да и вообще у нас дела поважнее, хуяк хуяк и в продакшн.

>1% багов


Не люблю статистику из башки.

>постоянно набрасывающий говна


Ни разу такого не было. Я в освном говорю очевидные вещи, а вы почему-то рветесь на это, говоря да, анон ты прав, но сука какой же ты долбоеб все таки.
485 3266727
>>66725

> Ну значит им не похуй, следовательно твой тезис "никого не ебет" уже хуйня.


Градации, слышал такое слово?

> Не люблю статистику из башки.


Да похуй что ты любишь.

> говоря да, анон ты прав


Галоперидольчик пробовал?
486 3266730
>>66725
>>66727

> Градации, слышал такое слово?


Стоит ещё докинуть что джеп типовую систему согласно той статье никоим образом не исправляет. Нулл-то остаётся. В том то и дело, что решаются реальные проблемы, а не эфемерные дыры типовой системы.
487 3266732
>>66727

>Градации, слышал такое слово?


Ну а какие баги с более высоким процентом они решили в жепах?

>Да похуй что ты любишь.


Bastard...

>Галоперидольчик пробовал?


Да не шиз я блять, хватит.
Сам написал:

>от нулла есть некоторые проблемы никто и не спорил


Если от чего-то есть проблема, то это ошибка. И вот так каждый раз, я просто не понимаю нахуя вы со мной-то спорите и обзываете меня, если вам мои тезисы понятны. Что ты хочешь доказать? Что ты умнее меня?
>>66730
Так понятно, что они блять симпомы просто лечат. Убрать из джавы null просто невозможно без тотального нарушения обратной совместимости.
488 3266733
>>66732

> Ну а какие баги с более высоким процентом они решили в жепах?


while (не надоело) {
look(--jepIndex)
}

> Bastard...


Очень аргументированно, додик.

> Если от чего-то есть проблема, то это ошибка. ЯСКККККОООООЗАААААЛ!!!!!


> И вот так каждый раз, я просто не понимаю нахуя вы со мной-то спорите и обзываете меня, если вам мои тезисы понятны.


Твой тезис был далеко не в том, что от нулла есть какие-то проблемы, опущ.

> Что ты хочешь доказать? Что ты умнее меня?


Больше на тебя похоже, мань.

> Так понятно, что они блять симпомы просто лечат.


То, что это симптом, а не проблема, ты должен доказать.

> Убрать из джавы null просто невозможно без тотального нарушения обратной совместимости.


Ну и нахуй ты высираешься?
489 3266737
>>66733
Почему я должен искать за тебя подтверждение твоих же слов...

>Очень аргументированно, додик.


А как мне аргументировать то, что ты не хочешь перестать фантазировать? В ответку нафантазировать?

>Твой тезис был далеко не в том, что от нулла есть какие-то проблемы, опущ.


Я написал следствие, а ты причину.

>Больше на тебя похоже, мань


Даже если и так, я не делал это специально.

>То, что это симптом, а не проблема, ты должен доказать.


Ну смотри, исключение возникает после того, как кто-то обратится к null. Следовательно это следствие того, что кто-то запихнул null туды, куда не следует - исключение есть симптом проблемы. Дальше, причина почему это вообще возможно, в том, что null - это подтип всех типов и существование его экземпляра повзоволяет его пихать туда, куда не следует, следовательно опять же все сверху симптом того, что null существует.

>Ну и нахуй ты высираешься?


Да я просто мнение высказал блин. Что зря добавили, раз столько проблем в итоге приходится решать.
490 3266739
>>66737

> Почему я должен искать за тебя подтверждение твоих же слов...


> >Очень аргументированно, додик.


> А как мне аргументировать то, что ты не хочешь перестать фантазировать? В ответку нафантазировать?


> >Твой тезис был далеко не в том, что от нулла есть какие-то проблемы, опущ.


> Я написал следствие, а ты причину.


> >Больше на тебя похоже, мань


> Даже если и так, я не делал это специально.


> >Ну и нахуй ты высираешься?


> Да я просто мнение высказал блин. Что зря добавили, раз столько проблем в итоге приходится решать.


Ты хоть сам-то понял, что высрал?

> Ну смотри, исключение возникает после того, как кто-то обратится к null. Следовательно это следствие того, что кто-то запихнул null туды, куда не следует - исключение есть симптом проблемы. Дальше, причина почему это вообще возможно, в том, что null - это подтип всех типов и существование его экземпляра повзоволяет его пихать туда, куда не следует, следовательно опять же все сверху симптом того, что null существует.


То есть перелом ноги это симптом возможности ходить человеком, ведь во время хождения можно поскользнуться и сломать ногу?
491 3266741
>>66739

>То есть перелом ноги это симптом возможности ходить человеком, ведь во время хождения можно поскользнуться и сломать ногу?


Скорее симптом того, что мало кальция и витаминчиков ест, а возможно еще старый или гены плохие. А ну и аналогия это конечно прекрасно, но мы про null говорили.

>Ты хоть сам-то понял, что высрал?


Вроде да. Почему ты меня так ненавидишь?
492 3266742
>>66741

> А ну и аналогия это конечно прекрасно, но мы про null говорили.


Это был намёк на то, что существование нулла хоть и имеет некоторые негативные последствия, имеет основания. Но для его осознания, видимо, нужно иметь >70 iq.
493 3266746
>>66742

>имеет основания


Там основание только как дефолт значение. Массивчик заполнить, проблему курица и яйца решить. И вот ради таких, действительно стоящих вещей, надо бы перфоманс эдак на 20% заполнить очень полезными вычислениеми is null. Есть способы эти основания решить иным путем, не таким кривым.
Но решили как решили, надеюсь они хотя бы лучше чем котлин сделают nullable и not nullable типы.

> >70 iq.


Мне сверху писали, что у меня 85))
494 3266748
>>66746
Ну и нахуй ты высираешься тогда, если сам понимаешь, что необходимость в нулле есть? А раз она есть, то просто его выкинуть нельзя, нужно именно делать так, как делают в джаве.

> И вот ради таких, действительно стоящих вещей, надо бы перфоманс эдак на 20% заполнить очень полезными вычислениеми is null.


Skill issue. При вычислении на этапе компиляции ничего не будет заполняться.
image.png82 Кб, 560x567
495 3266750
>>66748

>нужно именно делать так, как делают в джаве.


Одно из другого не следует. Ты наверное как пограмист понимаешь же, что вот есть задача, а способов ее решить много. Разные издержки тут и там. Null это только одно из множества решений, есть другие, там издержка в требовании ссылочной прозрачности.

>При вычислении на этапе компиляции ничего не будет заполняться.


Я тоже очень надеюсь, что оракл смогут все это компилятору делегировать. Но судя по пику, все равно будут некоторые вставки тут и там.
496 3266751
>>66750

> Одно из другого не следует. Ты наверное как пограмист понимаешь же, что вот есть задача, а способов ее решить много. Разные издержки тут и там. Null это только одно из множества решений, есть другие, там издержка в требовании ссылочной прозрачности.


Ну и конечно же эти решения не приведёшь.

> Я тоже очень надеюсь, что оракл смогут все это компилятору делегировать. Но судя по пику, все равно будут некоторые вставки тут и там.


Очевидно, без вставок это невозможно. Если у тебя от пользователя может прийти нулл ты должен проверить, что он тебе послал и послать нахуй в случае если этот пользователь еблан.
497 3266752
>>66751
Суть в том, чтобы вставки были однократные, а не везде подряд, и как можно раньше.
image.png25 Кб, 668x277
498 3266759
>>66751

>Ну и конечно же эти решения не приведёшь.


Я могу, но... Честно не хотелось бы. Ладно, пик. Это решение проблемы курицы и яйца без null.
>>66752
Посмотрим какая в итоге будет реализация, сейчас пока рано говорить, че они там наколдуют.
499 3266785
>>66759
И что это за копронахрюк на пике?
500 3266830
>>66785
haskell...
501 3266840
>>66830
А тред какой?
502 3266931
>>66654
Не надейся
Я уже вкатываюсь
Кстати, на первом курсе вуза единственные ребята, которые вообще пишут на чем-то, пишут на джаве
Я был удивлен, думал, кроме меня не будет таких
image.png70 Кб, 856x831
503 3266941
>>66840
Ты специально это, да? Сначала просишь показать как без null это решают, а потом за это же критикуешь. Какое зло я тебе сделал...

На жаве, используя ленивость как-то так можно сделать. Хотя я думаю, возможно как-то исковеркая control flow через исключения, можно и без саплаеров обойтись. Но эт неточно.
>>66931
Удачи
504 3266952
>>66941

>миллион строк говнокода нечитаемого напишу, зато без нуллов!


Блядь, какой же ты дегенерат. Пойди убейся, не порть статистику.
505 3266954
>>66941
Каждый раз этот даун приходит в тред со своими шизофреническими высерами, каждый раз его макают в говно, но ему, похоже, это нравится, потому что он приходит снова и снова за порцией говна. Мазохист.
506 3266966
>>66952
Тут 95% кода шаблонная хуйня.
>>66954
Вот поэтому я не хочу вам примеры показывать. Это не имеет смысла. Проще сказать, такие пути есть, надо найдешь.
507 3266976
>>66966

>это бойлерплейт, значит это хорошо


Тебе лишь бы высрать, что-ли?
508 3266989
>>66976
Я че блять виноват, что джава бойлерплейтный язык? У вас всю дорогу так было, есть и будет.
509 3266990
>>66989

>вместо того, чтобы воспользоваться коротким способом, напишу кучу говна, и обзову джаву бойлерплейтным языком!


Блядь, ты же правда инвалид умственный.
510 3266993
>>66990
Каким коротким способом? Ты используя null ровно на ноль строчек короче напишешь.
Лобок я не хочу использовать из принципа. Это просто говно, которое лезет туда, куда лезть не следует.
511 3266995
>>66993

> Каким коротким способом? Ты используя null ровно на ноль строчек короче напишешь.


Задача какая?

> Лобок я не хочу использовать из принципа. Это просто говно, которое лезет туда, куда лезть не следует.


Проиграл с того, как дегенерат открыл ебальник, когда его не просили, чтобы ещё больше доказать, какой он дегенерат.
512 3267013
>>66995
Создать класс Parent, содержащий экземпляр класса Children, которой в свою очередь содержит экземпляр Parent.
Ну и в качестве дополнения обоим сделать рабочий toString, чтобы они что-то осмысленное в консоль печатали.

Да-да. Лобок от этого лучше не станет, кста.
513 3267017
>>67013
Ну ок, по строчкам может и то же самое будет, только вширь код будет короче. И быстрее, лол. Твою позицию это не сильно улучшает, а опозориться с "бойлерплейтным языком" ты уже успел.
514 3267019
>>67017
Там вширь тоже нечего экономить. Пять символов что ли.

> а опозориться с "бойлерплейтным языком" ты уже успел.


Слушай, если для одной и той же задачи один язык требует 5 строчек, а другой 36 может ну.. Он бойлерплейтный?
Тем более это ты сказал, что чет строчек многовато. Мне-то похуй сколько их.
515 3267022
>>67019

> 5 нещитово! Вот было бы 25 было бы щитово! А ещё я проигнорирую неудобное про скорость!


Пиздец...

> Слушай, если для одной и той же задачи один язык требует 5 строчек, а другой 36 может ну.. Он бойлерплейтный?


И сейчас ты принёс пример вместо своего гнилого пиздежа.
516 3267025
>>67022

>неудобное про скорость!


Что JVM стоит заинлайнить все гетеры? Разницы в этом случае не будет. У вас там реально экономят на виртуальных вызовах?

>И сейчас ты принёс пример


5 ( >>66759 )
36 ( >>66941 )
517 3267028
>>67025

> Что JVM стоит заинлайнить все гетеры? Разницы в этом случае не будет. У вас там реально экономят на виртуальных вызовах?


Додик, если бы ты использовал сапплаер как простой геттер, ты бы этим от нулла не избавился. А в твоём говнокоде на каждый вызов создаётся новый объект. Блядь, какой же ты тупой.

Я даже блядь не говорю, что ты просто заменил нулл на бесконечный цикл. Это вообще пиздец какой-то. Пожалуй зарепорчу тролля. Нельзя быть таким тупым.

> 5 ( >>66759 )


> 36 ( >>66941 )


И что бойлерплейт который ты сам добровольно высрал доказывает?
image.png15 Кб, 649x135
518 3267034
>>67028
Ну кстати да, надо добавить еще одну строчечку, где создание выносится.

>Я даже блядь не говорю, что ты просто заменил нулл на бесконечный цикл.


Ты понимаешь же, что это разные вещи? Именно это и есть, то чем изначально был botttom, расходимостью. Это тип, который ты просто не можешь достичь или создать. Бесконечный цикл или исключения идеально под это подходит, с чем согласен компилятор.

>Пожалуй зарепорчу тролля


Себя зарепорть. Я ни разу никого тут не оскорбил, причем общаюсь именно на тему джавы, то что тебе кажется это глупым, твои проблемы.

>И что бойлерплейт который ты сам добровольно высрал доказывает?


Ты сам сказал, что короче не напишешь. В чем проблема? Иначе напиши, продемонстрируй навыки.
519 3267035
>>67034

> Ты сам сказал, что короче не напишешь. В чем проблема? Иначе напиши, продемонстрируй навыки.


То есть на вопрос не ответишь? Ок, слив засчитан.
520 3267038
>>67035
В чем вопрос? Если сможешь написать короче - вперед. Я не могу.
521 3267039
>>67034

> Себя зарепорть. Я ни разу никого тут не оскорбил, причем общаюсь именно на тему джавы, то что тебе кажется это глупым, твои проблемы.


Оскорбления на сосаче как раз разрешены, и слава богу, легче макать унтерменшей типо тебя в говно. А щитпост в тематике нет.

> Ты понимаешь же, что это разные вещи? Именно это и есть, то чем изначально был botttom, расходимостью. Это тип, который ты просто не можешь достичь или создать. Бесконечный цикл или исключения идеально под это подходит, с чем согласен компилятор.


Изначально видимо исключение написать тебе не хватило твоего скудного интеллекта. Ок.

> Ну кстати да, надо добавить еще одну строчечку, где создание выносится.


И как эта строчка хоть что-то из претензий отменяет? Она только увеличивает количество бойлерплейта, лол.
522 3267040
>>67038
Не ворочайся, слитое.
523 3267042
>>67039
Ну меня банили и за них.

>Изначально видимо исключение написать


Так просто короче, мы же тут все экономим на месте.

>И как эта строчка хоть что-то из претензий отменяет?


Создания экземпляров не будет при обращении. На виртуальные вызовы мне, да и всем поебать. Если бы это было бы не так, такой хуйни как спринг просто не существовало бы.

>Она только увеличивает количество бойлерплейта, лол.


Напиши короче.
524 3267047
>>67042

> Так просто короче, мы же тут все экономим на месте.


А то, что это хуй отдебажишь, похуй. Пиздееееец.

> На виртуальные вызовы мне поебать.


Ок, приходи когда будет что-то поаргументированнее "мне поебать на производительность".

> Напиши короче.


Нулл использовать.
image.png5 Кб, 435x68
525 3267055
>>67047
Пхпхп, ладно такая ошибка идеально подошла бы. Но вообще такое возможно отдебажить через профайлер, правда нужно ли это.

>что-то поаргументированнее


Мне за нее не платят. Вот начнут...
526 3267056
>>67055

> Мне за нее не платят. Вот начнут...


Слив засчитан.
527 3267059
>>67056
Ну мог бы и заплатить, знаешь
528 3267060
>>67059
Не ворочайся, слитое.
529 3267165
>>66941
Спасибо
530 3267251
Подскажите плиз, может кто сталкивался, я использую аннотацию @ConfigurationProperties, чтобы собрать из проперти файла массив объектов и вроде как это норм работает, но лишь до тех пор как я делаю импорт другого проперти файла а без этого никуда, тк сикреты приходят из отдельного файла secret.properties и импортируются в основной проперти файл вот тогда и начинает все идти по пизде, он перестает проставлять все проперти кроме тех, что указаны в сикретах и я хз, что с этим можно поделать, весь гугл уже перекопал как будто, но так и не нашел решения этой проблемы
531 3267265
Сап, откуда начался срач с GO-шниками как вы к нему относитесь?
532 3267268
>>67265
Где ты тут срач увидел? Пока что только умалишённое говно забегает посрать в тред при попустительстве мочи.
533 3267271
>>67268
в прошлом го треде знатно было и в этом немного видел
534 3267315
>>66931
А пару лет назад я был единственным, кто писал на джаве в группе. Были питонисты, фронтендеры, еще чел писал игры на c#/c++
Сейчас брат поступил на первый курс и у него тоже одни питонисты, ну и все надрачивают на го.
535 3267375
>>66709

>Я вообще начинаю думать, что проблема в том, что я просто не способен понятно для людей доносить мысли.


У меня тоже были такие мысли на работе. Потом я понял, что людям просто поебать, они все делают на отъебись.
536 3267381
537 3267416
>>62595
А что за проблема 10к?
джун
538 3267418
>>62643

>У меня финишная прямая до первой работы


Oh my sweet java child
540 3267435
>>63366
У меня сейчас голова взорвется: как работает coerce()? Это статический типизованный по классам A и B метод. Он принимает на вход объект класса А и возвращает скастованный в класс B. Откуда он блин берет информацию о классе B, в который ему нужно кастануть?
541 3267438
>>67435

>Откуда он блин берет информацию о классе B


Ниоткуда. Поэтому там желтым подчеркнуто и даже ворнинг кидает компилятор, что возможно друг ты какую-то хуйню творишь.

Фактический же кастинг происходит не во время вызова метода, а в момент, когда ты запрашиваешь объект этого типа. Конкретно там, это 8 строка. Это основная причина, почему кастить дженерики вообще говоря плохая идея.
542 3268189
>>66323
Я вот не пойму - неужели в 2024м году на полном серьезе существуют люди, которые впрягаются за billion dollar mistake? Что вами движет?
543 3268203
>>67435

> Откуда он блин берет информацию о классе B, в который ему нужно кастануть?


Эта штука называется type inference в джейве, компилятор видит, чтобы ты возвращаемое значение метода передаёшь параметром в другой метод. Компилятор предполагает что ты не дурак и это ДОЛЖНО работать, а значит тип возвращаемого значения такой же как у параметра, в который ты его передаёшь. Вот так он и получает информацию о типе.
544 3268361
>>67315
Школоту просто на ЕГЭ надрачивают на питоне, поэтому там все питонисты. Это тоже самое, что "ни на чем не пишет", можно ставить знак равно
545 3270091
>>68189
Что-то поаргументированнее будет?
546 3270481
>>70091
Кто впрягается, тот пусть и аргументирует. Бремя доказательства.
547 3271245
>>70481
Ты даун? Ты высрал про нинужность нулла. >>66322
548 3272400
>>71245
Не мое. Я не говорил про ненужность - просто мимопроходил и удивился что находятся какие то чмохи, так яростно оверреактящие на анонов, критикующих нулли.
549 3273097
>>72400
Ну вот и аргументируй свои высеры, еблан.
550 3273506
>>73097
Аргументировал тебе на лицо, проверяй.
551 3273858
>>73506
Слив засчитан, лох.
552 3285476
>>66322
Чем заменить null?
553 3286099
Тред утонул или удален.
Это копия, сохраненная 3 декабря в 08:47.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски