Щас легче всего проект через Maven создать, и уже в pom.xml добавить все зависимости и не мучаться самому всё это подключать.
@kredwi6 күн бұрын
То дождь, то стиралка..
@Runner76rus8 күн бұрын
- Interface segregation? - Не, не слышал
@user-yn1pc3om6v11 күн бұрын
Слышу чоткость в вашем голосе!
@tquickly523611 күн бұрын
Спасибо!
@alexanderwagner819918 күн бұрын
Не понял... при чем тут причина для изменения? Это принцип единой отвественности, то есть, класс должен отвечать за какую-то одну вещь, а не хреначить в него кучу всего. То есть, урок о правильной концепции, но объяснение не то, которое капец как путает.
@svetlanamazhaykina691819 күн бұрын
Спасибо за Ваш труд! Коммент в поддержку канала.
@rusa599025 күн бұрын
В видео трансляции монитора реально используется только треть или половина всей площади экрана. Будет гораздо лучше если понизить разрешение, убрав пустые области.
@Seynedrtx25 күн бұрын
Поначалу было неплохо, но уже сейчас я перестаю многое понимать, лично для себя решил проходить джаву параллельно на других платформах типо stepik, потому что там даëтся практика по большей части, а то весь урок сидишь и не вдупляешь что вообще происходит, а ведь у меня ещë 400 уроков впереди
@mizantropoff26 күн бұрын
Только что хотел написать про баг в коде, грубый баг, но увидел. что уже это сделалираньше. Такие досадные ляпы. Сразу видно что метод get Неверный, первый объект остается во free, даже при его использовании. Пример упрощен настолько, что теряется смысл самого понятия басссейна. Релизить каждый раз каждый объект в ручную. создавать - на хрена это надо? Если объект не нужен, достаточно ему null присвоить. трудозатратная операция по созданию? Да ну на фиг. Короче, я этот урок бы назвал халтурой. Типа, вроде да, но зачем ... да еще с ошибкой в трех соснах. А еще без проверки длинны used , или проверки наличия в нем передаваемого объекта при методе release высока вероятность эксепшена, нет никакой подстраховки, все надо держать в голове. И тут опять - если все это по уму выстраивать. возникает вопрос - на фига это нужно?! Потому что ресурсы будут и так и так потрачены.
@stepan-klyukin27 күн бұрын
Смысл запускать новый поток если мы в конце его завершили то есть дождались
@mizantropoff27 күн бұрын
Ленивая реализация рулит class Person1 { int i = 0; private static Person1 person ; private Person1() {} public static Person1 getInstance() { if(person == null) person = new Person1(); return person; }
@mizantropoff28 күн бұрын
Вот этот урок прям меня психом сделал. )))))
@deniswood35729 күн бұрын
Было-бы не плохо узнать навигатор оно надо, если можно просто новый метод с новым именем создать
@SeynedrtxАй бұрын
Пока на этом уроке, и у меня пока что возникает куча вопросов: что это?, Как это работает?, что это значит?, почему так?, Что автор вообще сейчас делает? Но всë же надеюсь позже, с новыми уроками разбраться, как никак впереди ещë 400, мне кста помогает после уроков коментировать каждую написаную строку(помогает усвоить материал и понять что не усвоил чтоб пересмотреть)
@ConfidenceGoldАй бұрын
Спасибо ❤
@ConfidenceGoldАй бұрын
Спасибо
@ConfidenceGoldАй бұрын
Спасибо ❤
@ConfidenceGoldАй бұрын
Спасибо ❤
@mizantropoffАй бұрын
Ничего не понял. Откуда взял библиотеку WebStart? Не, я понял, откуда он взял, она у него уже была, но у меня то ее нет... какая то херня. В файле масса ненужных импортов, на них и ругался компилятор. причем здесь веб, в файле нет никаких намеков на эту библиотеку? начинаю нервничать
@mizantropoffАй бұрын
Если кто мучается с цифрами, перестаньте смотреть на время, сначала отдебажьте сам код и поймите его, а для этого лучше передавать небольшое количество операций, чтобы увидеть - результат то верно считается вообще или нет
@mizantropoffАй бұрын
Как перфекционист замечу, что не отработаны вырожденные случаи, а именно при количестве операций меньше количества потоков будет переполнение стэка, так как условие (to - from <=numOfOperation/numOfThread) всегда будет ложным.
@mizantropoffАй бұрын
Что у Fork() под капотом?
@mizantropoffАй бұрын
И ты думаешь, совсем лишне объяснить - что делает fork()? Это при том, что ты идешь двумя разными путями почему то.
@mizantropoffАй бұрын
К этому уроку претензий нет🤣
@mizantropoffАй бұрын
Блин, ты реально считаешь что объяснил?
@mizantropoffАй бұрын
Я считаю неудачный пример, нужно было продолжать с ресурсами, так как тут непонятно - какие ресурсы захватил поток1, с которыми нужно работать потоку 2. Тут речь идет не о ресурсах, а в принципе о возвращаемом значении метода tryLock, и неочевидно, как это работает в случае ресурсов
@mizantropoffАй бұрын
важно было бы понимать, что локи пришли из пакета Concurrency. Насколько я понимаю, они призваны исправить главную проблему synchronized - вырождение многопоточности в один поток. Может 7 лет назад это было не так актуально, но сегодня точно актуально. И теперь я хочу увидеть прежде всего именно различие между lock и synchronized в контексте вышеупомянутой проблемы. Ну согласитесь, что lock и unlock написать, что на каждом методе synchronized поставить - вряд ли для этого понадобился новый пакет. Пока я этого не увидел, буду смотреть дальше.
@mizantropoffАй бұрын
Мне кажется, более логично сделать взаимно Wait-Notify. Вроде работает и так и так, но вот этот Sleep выглядит как костыль. static class Operator extends Thread { @Override public void run() { Scanner scanner = new Scanner(System.in); while (true) { synchronized (strings) { strings.add((scanner.nextLine())); strings.notify(); try { strings.wait(); } catch (InterruptedException e) { throw new RuntimeException(e); } } /* try { Thread.sleep(500); } catch (InterruptedException e) { throw new RuntimeException(e); }*/ } } } static class Machine extends Thread { @Override public void run() { while (strings.isEmpty()) { synchronized (strings) { try { strings.wait(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(strings.remove(0)); strings.notify(); } } } } Правда, этот вариант нестабильно работает, взял паттерн ниже, практически с полной симметрией
@bari9631Ай бұрын
ну так себе объяснение. "э.. ну... типа..."
@djadjaandreyАй бұрын
👍👍👍
@djadjaandreyАй бұрын
👍👍👍
@wilsonikner1167Ай бұрын
В целом спасибо, 400 уроков - это круто, смотрю на 2x скорости. Нет у меня времени читать все эти книжки, хоть и уверен, что они хорошие. Я "свитчер", мне 50... Постоянные ляпы и вода раздражают, конечно, но тут дело такое: не нравится - не смотри, ты ж денег не платил. Автору советую попробовать прогнать эти видео через какой нибудь GPT, чтобы убрать воду, ошибки и повторы, и структурировать. Если получится - будет удивительно мощная выжимка и можно будет продавать или книгу писать)
@user-ob6hc9xh7qАй бұрын
Very huevo objasnil
@Alexander__OsАй бұрын
А что по мельче шрифт нельзя было поставить?
@user-xu3cb1vk8lАй бұрын
ГРОМЧЕ
@Dima_AltarevАй бұрын
видео такое старое .Жаль что автор забросил канал , а может просто он курс закончил
@danil24rusАй бұрын
В самом начале стринг это argument , когда мы пишем T или V это параметр
@dinbesson2 ай бұрын
от души!!!!
@artsiomrusak20232 ай бұрын
вообще ничего не понятно что/зачем/почему использовать, просто лупишь строчки кода "смотрите..."
@user-rn3nu3pi7v2 ай бұрын
Госпади, ты двух слов связать не можешь. Придумывай примеры заранее, а не на ходу сочиняй, если сочинялка не работает
@user-rn3nu3pi7v2 ай бұрын
Пздц чел ты объясняешь. Выключил через 20 секунд после того, как ты начал хрюкать и мычать. Объяснять не твоё или готовься к роликам лучше
@StoryCraftTing2 ай бұрын
😊
@user-wx4rs8ju3h2 ай бұрын
Как получить доступ к скрытым видео?
@FFl1s2 ай бұрын
Что делать если я поспешил, и вместо ```echo export PATH=SPATH: /Users/max/apps/apache-maven-3.5.0 /bin >> bash_profile``` Я не дописал >> bash_profile? Теперь выдает ошибку при source .bash_profile, тип .bash_profile:export:2: not valid in this context: Documents/com~apple~CloudDocs/apps/apache-maven-3.9.6/bin
@olegbokerov71523 ай бұрын
Судя по другому ролику, смысл в том, что основной класс является immutable, т.е. неизменяемым - нельзя через сеттеры задавать новые значения полям - только через конструкторы, которых будет слишком много А на примере автора можно просто создать сеттеры и не страдать чушью, типа "теперь мы можем заполнить свойства объекта в одну строчку"
@user-uj2tp5sr4w3 ай бұрын
Тут билдер больше нужен, если у вас множество полей, но вы не все их хотите заполнять или разное их сочетание. И в целом можно обойтись конструктором, но вы явно будете прописывать null. А с помощью билдера вы собираете нужные вам поля и создаете класс. Но соглашусь, что то, как это подано у автора, можно спокойно воспользоваться сеттерами.
@dmChanal13 ай бұрын
Надо было пример без трая с ресурсами, в старой джаве, с двумя русерсами. Вот там бы ещё веселее стало
@Rogov_Oleg3 ай бұрын
Стрим-апи с функцией-параметром в качестве фильтра ловчее