Я смотрел ролики по JAVA примерно 10-12 преподователей на юТуб и на платных курсах Udemy. И я постоянно, когда смотрел, думал про себя: "Почему они не показывают(не объясняют) на реальном примере, как это работает на компьютере. Мол, вот есть сайт, это - там это, а это - вот так, вот смотрите". Я не понимал, как я сидя за компьютером весьма "абстрактно" представляю рабочий процесс. Зачем мне все сравнения работы JAVA с каккой-либо другой сферы из жизни, так часто приводят. Проще же объяснить из примера, например работы реального сайта. И вот в очередной раз, когда я запустил юТуб в надежде, что он мне пошлет видео-алмаз я наткнулся "месторождения нефти". Прям спасибо вам Сергей, что нормально по человечески объянили.
Если честно, пересмотрел тонну роликов про лямбда выражения, но пока не нашел нужного формата для себя. Не понятна структура и логика этих выражений. Автору спасибо, любое видео это труд. Но я вновь пошел искать и разбираться. Возможно, когда разберусь, запишу свое видео)
Отличное видео. Добавлю, что на 14:43 для параллельного вычисления необходимо в обязательном порядке вызвать метод parallel(), иначе 3-й параметр перегруженного метода U reduce(U identity, BiFunction accumulator, BinaryOperator combiner) не будет работать. Параметр combiner работает только с параллельными стримами.
Спасибо, добрый человек. Очень доходчиво. А про maven расскажи, пожалуйста. Я пока не до конца понимаю его прелесть, да и совсем, чесно говоря не понимаю эту «стстему сборки».
Спасибо за труд) Ролики просто пушка! Можно пример кода, где лямбда быстрее цикла (замерю даже)? Единственное, что я находил быстрее цикла это был свич. В моём примере 12 месяцев и иф/элс с тернаркой. Проигрыш на большой выборке (сотня миллионов) была около 0,2% - 0,3%. Литкод открыть, там все лучшие решения на циклах. Была бы лямбда быстрее, писали бы на лямбде. п.с. я вообще думаю, что лямбда сольёт в скорости циклу. ппс. любое решение на стриме сразу на дно по скорости, тут вообще без вариков. Единственное, в дабле можно более точные вычисления делать.....но опять же, нужна супер точно, то это бигДецимал.
Большое спасибо, я вижу что лямда вырожения очень похожи на java script вырожения () => {} , array.filter(e => e.id !== id), и в rxjs тоже из использывают, интересно в rxjs array.pipe( filter() map() ) для мовификации даннх а в java stream()
А вот и нет, forEach создаст на каждый елемент new Cosumer, а это такты и память. Можешь проверить юнит тестом. Классический итератор быстрее и дешевле. Это может быть важно, когда у тебя пет проект на orangePi крутится. Спасибо за контент. ;)
Лямды крутая штука, но тут нужно знатно так переформатировать способ своего мышления. А еще какого *** обернутые в try лямбы игнорируют это и требуют оборачивать вызовы в теле лямбды?
получается сегодня выйдет либо след видео либо стрим , жду с нетерпением почему в эмуляторе от идешки приложение выглядит как я хочу , а установив его на физ устройство я вижу совсем другую картину , например лишний лэйбл , или фон черного цвета , а еще верхнюю статус панель :(
Могу предположить, что это связано с темой на устройстве. Чтоб такого не было надо использовать тему из AppCompat. Ну или сделать свою тему, унаследованную от дефолтной и задать в ней нужные параметры. То что фон черный - это включенная dark тема на устройстве. Сегодня ничего не выйдет, есть небольшое видео, но оно еще монтируется, сегодня скорее всего не успею. У меня нет жесткого графика. Публикую очередное видео, начинаю следующее, как будет готово, так и выпускаю. Иногда бывает много свободного времени, а иногда его нет, по этому я сам не в состоянии предсказать, когда выйдет очередное видео)
@@romawar1869 Я там указал свой личный телеграм для вопросов. Сейчас все еще ни одного спонсора нет, по этому можно сделать вывод, что сообществу эта идея не зашла.
@@arhitutorials несколько раз я начинал писать это сообщение , и каждый раз все разное хочется написать красиво , с глубоким смыслом , что бы потом читать было приятно , но суть в том что "жаба душит" платить деньги за то что получить можно бесплатно , каналов полчища и донатить каждому ни хватит зарплаты , но дорога возникает под ногами идущего .
@@romawar1869 Мне просто пару человек написали, спрашивали, почему нет кнопки "спонсировать", мол мы бы ваше дело поддержали. Ну я и сделал кнопку) Если тебе никто не платит, в этом есть и плюсы. Ты никому не обязан, можешь делать, что хочешь. Твое увлечение не превращается в работу, в обязаловку. И это хорошо, потому что обязаловка - это враг любого творчества.
Но ведь запись for (Client client: clients) она тоже означает перебор всех элементов коллекции и это понятно любому программисту, кто взглянет на эту строку, ведь раньше этот цикл и назывался for each. Поэтому преимущество какое-то странное)))
видосики для фана перед сном ua-cam.com/video/e4MT_OguDKg/v-deo.html - все его ролики по java 8 ua-cam.com/video/c3RVW3KGIIE/v-deo.html - устройство hashMap ua-cam.com/video/3c-iBn73dDE/v-deo.html про Docker книги для начала (читать по 2 раза) про java - java основы (Хорстманн) про лямда и тд - Современный язык Java (Manning) (в частности здесь расписано, что лямда != анонимный класс (при компиляции не создается класс файл)) про потоки - java concurrency на практике (+ есть альтернативный перевод в инете (Параллельное программирование в JAVA на практике) - первые пол книги лучше читать его, иначе тяжко) про RxJava - Реактивное программирование с применением RxJava (O'Reilly) про spring - Spring 5 для профессионалов
Бла, мужик, ты молоток, ну серьезно. Я только начал, 80 % не понял, готовлюсь к экзамену Java OCP 11. Материал излагаешь хорошо. Каждая женщина должна хотеть иметь детей от таких мужиков как ты.
В реализацию не смотрел. Я сталкивался с тем, что removeIf, работает быстрее, чем цикл с удалением через итератор. Предположил, что для некоторых коллекций foreach тоже мог бы быть быстрее цикла. Могу ошибаться.
Хмм, как насчёт следующим видео сделать 3д движок или псевдо 3д? я не имею ввиду полноценный движок а хотя-бы основы. конечно это мало подходит под тематику, но почему бы и нет? а можно и Ray tracing обойтись
14:25 После того, как я уловил суть лямбды у другого ютьюбера (там, в целом, не сложно) - решил заглянуть назад и сравнить. Фраза "просто обычное сложение" - после вброса стримов, добила меня окончательно 🤣.
Как же приятно учиться у по настоящему знающего человека.
Я смотрел ролики по JAVA примерно 10-12 преподователей на юТуб и на платных курсах Udemy. И я постоянно, когда смотрел, думал про себя: "Почему они не показывают(не объясняют) на реальном примере, как это работает на компьютере. Мол, вот есть сайт, это - там это, а это - вот так, вот смотрите". Я не понимал, как я сидя за компьютером весьма "абстрактно" представляю рабочий процесс. Зачем мне все сравнения работы JAVA с каккой-либо другой сферы из жизни, так часто приводят. Проще же объяснить из примера, например работы реального сайта. И вот в очередной раз, когда я запустил юТуб в надежде, что он мне пошлет видео-алмаз я наткнулся "месторождения нефти". Прям спасибо вам Сергей, что нормально по человечески объянили.
Сергей, с лямбдами давно работаю, но много нового для себя открыла. Огромное спасибо! У вас талант 😎.
Большое спасибо, эти 20 минут прошли почти незаметно, очень интересно. Удачи)
За первые 6 минут разобрался. С удовольствием досмотрел. Очень понятно обьяснил. Спасибо!
Если честно, пересмотрел тонну роликов про лямбда выражения, но пока не нашел нужного формата для себя. Не понятна структура и логика этих выражений.
Автору спасибо, любое видео это труд. Но я вновь пошел искать и разбираться. Возможно, когда разберусь, запишу свое видео)
Пригодилось) нравится твоя форма подачи материала с примерами.
в функциональном программировании, функции граждане первого сорта.
Как же наглядно и понятно, я очень редко восхищаюсь хоть какими-то видосами-туториалами, но все ваши видео которые я видел просто превосходные
Сергей, огромное спасибо за Ваши труды! Очень помогли при подготовке к собеседованиям в прошлом году
У вас лучшие уроки ! Обьясняете саму суть) очень доходчиво! Спасибо
Отличное видео. Добавлю, что на 14:43 для параллельного вычисления необходимо в обязательном порядке вызвать метод parallel(), иначе 3-й параметр перегруженного метода U reduce(U identity, BiFunction accumulator, BinaryOperator combiner) не будет работать. Параметр combiner работает только с параллельными стримами.
Спасибо, дай бог здоровья!
Спасибо, хорошо объяснили, тема мне знакома но я с удовольствием освежил знания!
Автор молодец, очень понятно и доступно объястняет. Я хоть и не новичок и уже работаю в сфере, но было приятно послушать 👍
Да за такие уроки памятник ставить надо! :)
очень приятно слушать, и понятно обясняете, спасибо
Подача материала шикарная! 👍
Огромное спасибо Сергей!!! Жаль ролик вышел после моего собеседования)))))
Спасибо большое! Не всё понял, но понял больше.. )
Здравствуйте! Одни из лучших уроки! Просьба , не могли бы вы рассказать про монады на Java c примерами. Спасибо.
Здравствуйте, да уже занимаюсь этой темой, скоро будет обзор с примерами.
Спасибо, добрый человек. Очень доходчиво. А про maven расскажи, пожалуйста. Я пока не до конца понимаю его прелесть, да и совсем, чесно говоря не понимаю эту «стстему сборки».
++
Большое спасибо за разбор с живыми примерами.
очень очень хорошо объяснено !!!
класный видос )хорошо рассказываешь . тебя приятно смотреть )
Спасибо за труд) Ролики просто пушка!
Можно пример кода, где лямбда быстрее цикла (замерю даже)?
Единственное, что я находил быстрее цикла это был свич. В моём примере 12 месяцев и иф/элс с тернаркой. Проигрыш на большой выборке (сотня миллионов) была около 0,2% - 0,3%.
Литкод открыть, там все лучшие решения на циклах. Была бы лямбда быстрее, писали бы на лямбде.
п.с. я вообще думаю, что лямбда сольёт в скорости циклу.
ппс. любое решение на стриме сразу на дно по скорости, тут вообще без вариков. Единственное, в дабле можно более точные вычисления делать.....но опять же, нужна супер точно, то это бигДецимал.
Очень хорошая подача материала и довольно доступно подано, на мой взгял, как новичка)
Огромнейшая благодарочка;)
Огромное спасибо! Продолжайте ;-)
Влюбилась
Спасибо за видео
Спасибо!
Лямбда не реализует анонимный класс, как на 5:54. Если открыть скомпилированный байткод, то можна увидеть, что это не что иное как анонимная функция.
Спаисбо
Такой вопрос. Почему слева ArrayList указан в качестве типа переменной, а не List?
👍👍👍👍👍
Здравствуйте. У ваших уроков есть исходный код в текстовом виде?
Ещё лямбды (non-capturing) кэшируются. Поэтому это не совсем анонимный класс.
Большое спасибо, я вижу что лямда вырожения очень похожи на java script вырожения () => {} , array.filter(e => e.id !== id), и в rxjs тоже из использывают, интересно в rxjs
array.pipe(
filter()
map()
) для мовификации даннх а в java stream()
Благодарю за видео!
хочу спросить профессионала!
Когда у тебя 5 вложений в какой-то проверки не является ли это сигналом к упрощению кода?)
Когда перестаешь понимать, что делает код - это самый верный сигнал к упрощению)
А вот и нет, forEach создаст на каждый елемент new Cosumer, а это такты и память. Можешь проверить юнит тестом. Классический итератор быстрее и дешевле. Это может быть важно, когда у тебя пет проект на orangePi крутится. Спасибо за контент. ;)
давно не могу решить проблему outOfMemoryException: "gc overhead limit exceeded". Ну это так, вдруг решите снять видео)))
В котлине если методтчерез inline объявить то даже не будет создаваться объект этого интерфейса создаваться, чтоб у него вызвать этот метод. Круто.
спасибо ! видимо мне не хватает знаний для понятия материала с лямбдами, примеры для меня пока сложные
Лямды крутая штука, но тут нужно знатно так переформатировать способ своего мышления.
А еще какого *** обернутые в try лямбы игнорируют это и требуют оборачивать вызовы в теле лямбды?
получается сегодня выйдет либо след видео либо стрим , жду с нетерпением
почему в эмуляторе от идешки приложение выглядит как я хочу , а установив его на физ устройство я вижу совсем другую картину , например лишний лэйбл , или фон черного цвета , а еще верхнюю статус панель :(
а еще не понятно как часто и где можно будет задавать вопросы взяв синер спонсора, да :)
Могу предположить, что это связано с темой на устройстве. Чтоб такого не было надо использовать тему из AppCompat. Ну или сделать свою тему, унаследованную от дефолтной и задать в ней нужные параметры.
То что фон черный - это включенная dark тема на устройстве.
Сегодня ничего не выйдет, есть небольшое видео, но оно еще монтируется, сегодня скорее всего не успею.
У меня нет жесткого графика. Публикую очередное видео, начинаю следующее, как будет готово, так и выпускаю. Иногда бывает много свободного времени, а иногда его нет, по этому я сам не в состоянии предсказать, когда выйдет очередное видео)
@@romawar1869 Я там указал свой личный телеграм для вопросов.
Сейчас все еще ни одного спонсора нет, по этому можно сделать вывод, что сообществу эта идея не зашла.
@@arhitutorials несколько раз я начинал писать это сообщение , и каждый раз все разное
хочется написать красиво , с глубоким смыслом , что бы потом читать было приятно , но суть в том что "жаба душит" платить деньги за то что получить можно бесплатно , каналов полчища и донатить каждому ни хватит зарплаты , но дорога возникает под ногами идущего .
@@romawar1869 Мне просто пару человек написали, спрашивали, почему нет кнопки "спонсировать", мол мы бы ваше дело поддержали. Ну я и сделал кнопку)
Если тебе никто не платит, в этом есть и плюсы. Ты никому не обязан, можешь делать, что хочешь. Твое увлечение не превращается в работу, в обязаловку. И это хорошо, потому что обязаловка - это враг любого творчества.
Но ведь запись for (Client client: clients) она тоже означает перебор всех элементов коллекции и это понятно любому программисту, кто взглянет на эту строку, ведь раньше этот цикл и назывался for each. Поэтому преимущество какое-то странное)))
как будто видео не совсем для новичков, но мне все понятно
видосики для фана перед сном
ua-cam.com/video/e4MT_OguDKg/v-deo.html - все его ролики по java 8
ua-cam.com/video/c3RVW3KGIIE/v-deo.html - устройство hashMap
ua-cam.com/video/3c-iBn73dDE/v-deo.html про Docker
книги для начала (читать по 2 раза)
про java - java основы (Хорстманн)
про лямда и тд - Современный язык Java (Manning) (в частности здесь расписано, что лямда != анонимный класс (при компиляции не создается класс файл))
про потоки - java concurrency на практике (+ есть альтернативный перевод в инете (Параллельное программирование в JAVA на практике) - первые пол книги лучше читать его, иначе тяжко)
про RxJava - Реактивное программирование с применением RxJava (O'Reilly)
про spring - Spring 5 для профессионалов
Список книг хорош, про альтернативный перевод не знал
Бла, мужик, ты молоток, ну серьезно. Я только начал, 80 % не понял, готовлюсь к экзамену Java OCP 11. Материал излагаешь хорошо. Каждая женщина должна хотеть иметь детей от таких мужиков как ты.
Отправил 100 рублей ))) надеюсь помогут в создании контента )))
Получил.
А что тут такого? Нормальная мотивация развивать канал, работать над качеством и т.д.
forEach под капотом это абсолютно тот же самый цикл, только еще с проверкой на null... с чего он быстрее?
В реализацию не смотрел. Я сталкивался с тем, что removeIf, работает быстрее, чем цикл с удалением через итератор. Предположил, что для некоторых коллекций foreach тоже мог бы быть быстрее цикла. Могу ошибаться.
Посмотрел исходники ArrayList. В методе forEach, в отличие от for, итератор не создается, идет проход непосредственно по внутреннему массиву.
Лямбда и Колбек это одно и тоже ???
ХОЧУ научиться писать как ты!
граждане первого сорта )))) хахах , весьма резкое и опасное выражение , но как же это верно
Хмм, как насчёт следующим видео сделать 3д движок или псевдо 3д? я не имею ввиду полноценный движок а хотя-бы основы. конечно это мало подходит под тематику, но почему бы и нет? а можно и Ray tracing обойтись
хотели взять лучшее, а получилось как всегда. смотреть на помесь ооп и функциональщины больно физически
Очень интересно, но ни хуя не понятно. Пойду искать попроще объяснятеля 😂
14:25 После того, как я уловил суть лямбды у другого ютьюбера (там, в целом, не сложно) - решил заглянуть назад и сравнить. Фраза "просто обычное сложение" - после вброса стримов, добила меня окончательно 🤣.
Очень интересно, но первый раз смотрю и вообще ничего не понятно!!!
это не для новичков. плохо понятно
а разве можно после new ActionListener( ) вставит фигурные скобки, что это такое ?
подскажите что за программа в которой вы работаете?
Idea IDE
12.9 тысяч человек хочет разобраться в лямбдах.