Get a Taste of Lambdas and Get Addicted to Streams by Venkat Subramaniam

Sdílet
Vložit
  • čas přidán 10. 11. 2015
  • Please subscribe to our CZcams channel @ bit.ly/devoxx-youtube
    Like us on Facebook @ / devoxxcom
    Follow us on Twitter @ / devoxx
    The first thing visible in Java 8 is the lambdas, but the real power is in Streams. If you're interested in immersing into lambdas and streams, this is the session for you. We will start with lambda expressions, learn about how to use them and how they get implemented under the hood. Then we will swiftly move into learning about streams, the abstractions they provide, and a variety of operations we can do with them. We will conclude with a discussion about lazy evaluations, infinite streams, and parallel collections.

Komentáře • 353

  • @ruixue6955
    @ruixue6955 Před 7 lety +562

    7:00 lambda
    7:26 backward compatibility of Java
    8:18
    9:34 why Java 8 is backed by single abstract method interfaces (@FunctionalInterface)
    9:47 if an interface is single abstract method interface, you can use lambdas instead of anonymous inner classes
    11:47 how does it work under the hood
    12:49 illusion aobut lambda - syntax sugar, i.e. on the instruciton level, it is the same as anonymous inner class
    14:16 what lambda does under the hood
    14:47 what would the compiler be doing with lots of lambda (assumption only)
    * 18:16 why it is not a good idea for lambdas to create extra classes like anonymous inner classes
    19:14 a new feature since Java 7 - instruction - invokedynamic
    20:53 in Java 8 struggling with the elimination of anonymous inner classes
    21:00 the motivation: use invokedynamic to implement lambda expressions
    25:16 example
    29:18 internal iterator
    39:00 method reference
    44:28 avoid the urge of writing a large lambda expression - an anti-pattern
    44:54 what are method references
    45:41 examples of method references
    47:15 static method reference
    49:31 parameter as a target map(String::toString)
    54:58 2 arguments
    * 56:23 the order of the arguments are important
    57:38 another example - first parameter is the target, second parameter is the argument
    59:33 limitations of method reference
    1:08:00 filter
    1:19:30 second part
    1:29:07 stream is an abstraction
    1:29:12 a stream is not a physical object with data
    1:29:24 a stream is a bunch of functions you will evaluate eventually. There is no data sitting in a stream
    1:29:48 a stream is a non mutating pipeline - stream is not mutating the data in a collection
    1:30:31 stream functions
    1:33:11 transforming function - Stream.map
    1:37:25 Stream.reduce()
    1:43:47 InStream/DoubleStream.sum() - also a reduction operation
    1:44:08 what is reduce operation - transform a collection into a concrete value or object
    1:44:51 another reduce operation - collection
    1:45:45 a wrong approach to do collect
    1:47:00 explanation of the wrong code
    1:47:18 shared mutability is devil
    1:49:04 use Collectors.collect
    1:51:17 Collectors.toMap
    1:54:17 groupingBy
    1:54:38 example
    1:57:40 another example with mapping() method
    1:59:37 performance
    2:05:40 Q: How much work?
    2:09:30 streams are LAZY
    2:10:49 intermediate operations are postponed for evaluation
    2:13:00 important
    * 2:15:43
    * 2:16:15
    2:17:37 demo for performance analysis
    2:19:36 lazy evaluations are only performed when the terminal operation is triggered
    2:27:08 intermediate operation - Stream.sorted()

    • @raghavanaliassaravananm1546
      @raghavanaliassaravananm1546 Před 5 lety +6

      Awesome toc 👍☺

    • @MrNaveen303
      @MrNaveen303 Před 4 lety +2

      Very informative and well explained, thank you.

    • @infitium7246
      @infitium7246 Před 4 lety +5

      You probably made it for yourself, didn't you ;)

    • @ruixue6955
      @ruixue6955 Před 4 lety +6

      @@infitium7246 yes, i have bad memory, so jot it down make me remember better :)

    • @tahniat
      @tahniat Před 3 lety +1

      Hats off!

  • @trozzonick77
    @trozzonick77 Před 8 lety +198

    Venkat is not just really knowledgeable but he knows how tell and express concept in the way even a kid could understand . Thanks .

  • @xvitcoder
    @xvitcoder Před 8 lety +114

    The best java talk I've ever seen

  • @vaib5917
    @vaib5917 Před 8 lety +209

    One of the best java talks ever seen.
    Very informative.

  • @h1dden_
    @h1dden_ Před 2 lety +5

    Venkat was my professor at UH for my last year in computer science. He is by far the BEST computer sceince professor I have ever had. I learned more from him in one semester than I did from when I started coding in highschool.

  • @sdevane75
    @sdevane75 Před 7 lety +41

    finally, someone intelligent and articulate enough with great dynamic working examples explains lambda and double colon. thank you. after much searching its finally clear to me. ☺

  • @TheRastaDan
    @TheRastaDan Před 3 lety +5

    34:49 "And for the first time, in a long time, Java is finally intelligent" that was the moment I lost it. This guy has such a talent of explaining stuff!

  • @AsifAlli
    @AsifAlli Před 4 lety +2

    This guy speaks very well. Usually indian guys are hard to understand. This guy is awesome!

  • @daddashikamani
    @daddashikamani Před 6 lety +8

    I have been converted to functional style programming using Lamdas and Streams thanks to Venkat.
    Double thumbs up!

  • @thyagtubes
    @thyagtubes Před 4 lety +5

    A rare species : someone who can do tech, can talk and also keep you engaged for a full 3 hours.

  • @kovalski6000
    @kovalski6000 Před 6 lety +20

    The best speaker I've ever heard. I am delighted

  • @hastingr
    @hastingr Před 3 lety +6

    1:02:40-1:05 the heart of programming! Great talk!

  • @sanjuro_493
    @sanjuro_493 Před 4 lety +3

    This is hands down the best Java conference evere made

  • @bangladeshibadmintonny
    @bangladeshibadmintonny Před 4 lety +1

    Well he said you came here for Lambda but stayed here for stream but I got addicted to Venkat. Amazing speaker. Thank you.

  • @shekharkumar78
    @shekharkumar78 Před 7 lety +20

    Really amazing. I am a big fan of Venkat. His book "Functional Programming in Java" is also a must read for all Java Developers.

    • @ggsay1687
      @ggsay1687 Před 3 lety

      Thanks for comment, I needed some book as a guide.

  • @arsalalam5998
    @arsalalam5998 Před 5 lety +4

    This is how you explain advanced stuff in simple way. Tell me why i should bother to use a new feature. Amazing.

  • @jcraane
    @jcraane Před 8 lety +32

    I created an IntelliJ plugin which provides similar functionality which outputs the result of a Java main execution as a tooltip. The plugin can be found here: plugins.jetbrains.com/plugin/8543?pr=idea

  • @durgadeep4988
    @durgadeep4988 Před 8 lety +6

    Love his enthusiasm and his crisp and clear explanation.

  • @trile2713
    @trile2713 Před 8 lety +13

    superioriginality = qualities.reduce(blessing, (feature, excellency) -> feature.add(excellency)); Dr. Subramaniam rocks as ever. Thank you for another great session !

  • @judgeomega
    @judgeomega Před 7 lety +31

    What a great speaker.

  • @MuscleTeamOfficial
    @MuscleTeamOfficial Před 7 lety +10

    This guy is a great speaker! Thanks for the awesome talk.

  • @prateek6424
    @prateek6424 Před 9 měsíci

    I just can't express how glad I am to land here. He has explained java 8 features with so much depth and conviction. Venkat sir just knows the features inside out and he is in love with Java. ❤

  • @mirageman2
    @mirageman2 Před 2 lety +1

    What a great talk, Venkat gave the best explanation about streams I've seen, and I've seen quite a few so far.

  • @ddhirajkumar
    @ddhirajkumar Před 6 lety +6

    Like this talk and the way of communicating some of the design philosophies. Not just what can be done.. but also the why and how of it is covered here.

  • @hirenpandit8499
    @hirenpandit8499 Před 7 lety +51

    "When you have 9 million programmers using your language and out of which 1 million programmers know where you live you have to decide things differently." :D

  • @usamaiqbal9933
    @usamaiqbal9933 Před 2 lety

    One of the best java talks I have ever scene that even a beginner can understand it...

  • @RobsonDev
    @RobsonDev Před 7 lety +5

    Fantastic presentation! What a great speaker! One of the best presentations that I've watched.

  • @sahilrally4491
    @sahilrally4491 Před 8 lety +2

    Just watched 24 mins and gave my like to the video. What a speaker, cheers!!! -)

  • @oleksandrdyachuk3951
    @oleksandrdyachuk3951 Před 7 lety +4

    GREAT!!!! so many details! so many examples! awesome! thank you a lot!

  • @DhrumilShahDOTin
    @DhrumilShahDOTin Před 3 lety +1

    just came to learn lambda.... never had a blast before learning programming concepts

  • @rukekakambari4314
    @rukekakambari4314 Před rokem +5

    Here, still in 2023

  • @harshavmb
    @harshavmb Před 7 lety +2

    I'm fortunate to watch this video! Speechless.. Absolutely recommended for people like me who didn't know the potentials of lambdas and streams.

  • @jvsnyc
    @jvsnyc Před 4 lety +1

    One of my new favorite speakers ever. It's all gold, but the motivational parts especially, even tho the technical details are all spot on and valuable. Like 1:02 thru 1:05, not strictly technical, but extremely important in terms of WHY we need to modernize our Java style....

  • @chintangandhi4500
    @chintangandhi4500 Před 5 lety +1

    I had come to see this video to brush my knowlege. I ended up learning many new things. excellent explaination

  • @pksanthoshkumar
    @pksanthoshkumar Před 4 lety +1

    Amazing lecture on functional programming. The best I ever heard!

  • @ketkithosar7465
    @ketkithosar7465 Před 3 lety +1

    I sincerely wish I could like this video more than once. Simply brilliant

  • @shailendra-mani
    @shailendra-mani Před 8 lety +3

    Great talk, very informative for those who are starting to work on java 8. Awesome explanation.

  • @jyotikabra72
    @jyotikabra72 Před 2 lety +2

    he is best at explaining things...became fan of him.

  • @sunilchandramn3001
    @sunilchandramn3001 Před 4 lety

    your one of the best teacher I have seen till now..

  • @mitulvaghela906
    @mitulvaghela906 Před 4 lety +2

    "A person who uses all the tools are called consultants" (1:05) - hahaha, you made my day sir!

  • @caiboliang5568
    @caiboliang5568 Před 8 lety +2

    think new session required to introduce ide 😁, very impressed. thanks a lot

  • @sahilrally4491
    @sahilrally4491 Před 8 lety +6

    Brilliant analogy !!!, I wish I could give Super Like or more likes to this talk :-)

  • @bikejoede
    @bikejoede Před 7 lety +1

    Venkat is an awesome teacher! Thanks a lot for sharing!

  • @manojkumarmurugan5808
    @manojkumarmurugan5808 Před 4 lety +1

    He is amazing!! Best Java talk ever

  • @osayamenomigie
    @osayamenomigie Před 6 lety +1

    Cant believe i just listen through the whole video...
    He is brilliant teacher

  • @susaninj
    @susaninj Před 7 lety +3

    Awesome. Excellent presentation. I wish I have seen this earlier. Recommend.

  • @LauriusT
    @LauriusT Před 7 lety +1

    Wow, not sure why I didn't use of java 8 functional style until now. Great talk

  • @mangasreekanth
    @mangasreekanth Před 5 lety +1

    Brilliant. Best value for 2 hours spend watching the video

  • @parashar1505
    @parashar1505 Před 2 lety +3

    I just love that editor and how intelligent that thing is! Venkat should do just one nice session on that editor setup. That would help the community so much :)

  • @SandyRocks007
    @SandyRocks007 Před 5 lety +1

    Indians are awesome! thanks, Venkat sir.

  • @cong0929
    @cong0929 Před rokem

    Wow! Great explaination of Lambda and Streams. His explaination and examples are so concise and easy to understand that I've ever seen. Very very thanks !!

  • @hb9809
    @hb9809 Před 7 lety +138

    "If a language does not support backward compatibility, it is DOOMED; we also know if a language supports backward compatibility it's also DOOMED!... and so it's a question really choosing which way you like to be DOOMED!"
    LMAO!

    • @SaiReddyDubbaka
      @SaiReddyDubbaka Před 7 lety +3

      There's a lot of crap in his talk apart from the actual content, which wastes my time. I am better off reading a book than watching his talk.

    • @wesosdequeso8360
      @wesosdequeso8360 Před 7 lety +2

      Just upgrade and move on.

    • @test1234tilak
      @test1234tilak Před 7 lety +1

      make your nuts tight!

    • @AniketKapse
      @AniketKapse Před 4 lety

      Venkat is brilliant. Indian minds are like gods.

    • @AniketKapse
      @AniketKapse Před 4 lety +1

      its about perceiving and realizing. Not blind mugging.

  • @jineshshah566
    @jineshshah566 Před 5 lety +1

    Finest explanation on streams. Thank you very much!

  • @akossarnyai4978
    @akossarnyai4978 Před rokem

    This is one of the best videos that I saw about Streams and Lambdas!!

  • @RamPrasanthRam
    @RamPrasanthRam Před 7 lety +4

    Really an awesome talk,the way you explained with real time examples and jokes is really superb. You made Lambda and Stream learning so easier. Pleasure to saw your teaching and Gonna see all your talks in you tube. One of the best java talk ever ! Thank you so much Venkat

  • @freezefrancis
    @freezefrancis Před 5 lety

    Venkat , you are simply amazing.. Great talk!

  • @giddaiahkummari2249
    @giddaiahkummari2249 Před 3 lety

    Hi venkat, I referred so many author's to understand java8 features, but some how I got ur video in the list. I just looked into it, it was just awesome. Thank you for ur efforts

  • @tharindusathischandra9533

    As the title says, I addicted to Stream; But I addicted to your lectures more than it. Thanks Venkat, it was really helpful.

  • @ThueringerNeuland
    @ThueringerNeuland Před 5 lety

    This man is really good at talking and explaining

  • @anilreddy1613
    @anilreddy1613 Před 3 lety

    His pace of explanation is perfectly suitable for me

  • @TheMinino123
    @TheMinino123 Před 6 lety +2

    Thank you so much, Venkat!!!

  • @AkashSingh-el1ew
    @AkashSingh-el1ew Před 2 lety

    Been 6 years and it's still useful :)

  • @omnipoten8
    @omnipoten8 Před 4 lety +6

    1:15:48 "If you gonna take so long and suck , you would rather suck quickly." Lol 😂.. man that was damn hilarious..

  • @vipulchauhan5317
    @vipulchauhan5317 Před 8 lety +1

    Thanks a lot for such a informative talk.. watched entire 2:47 hours

  • @nuniezjorge
    @nuniezjorge Před 4 lety +4

    one of my favorite features was "replace lambda with method reference", until i started watching this videos

  • @zeroxcub
    @zeroxcub Před 7 lety +1

    Really like the part with the performance analysis, most video about FP stop on the declarative part and don't go further.
    Thanks Sir, you got my like

  • @diasneto5231
    @diasneto5231 Před 7 lety +3

    Really, really, awesome!

  • @ramesh040580
    @ramesh040580 Před 8 lety +1

    Content and the way it is explained is nice. Thank you.

  • @epsilon21001
    @epsilon21001 Před 7 lety +1

    He's so awesome, thanks for the talk!

  • @weipingguo6038
    @weipingguo6038 Před 7 lety

    Great talk, very informative with great details!

  • @bhadreshagm7692
    @bhadreshagm7692 Před 2 lety

    Its really a very good talk!!! The way concepts presented helps understanding it from the core.. Great job sir.

  • @edukondalugumma3753
    @edukondalugumma3753 Před 4 lety +1

    Amazing explanation. I ever scene this kind explanation

  • @sherif_a
    @sherif_a Před 7 lety +1

    Very dynamic person!!

  • @brave111111
    @brave111111 Před 5 lety +1

    Awesome sessions. Java made easy and interesting. Excellent speech.

  • @KinGxWolF
    @KinGxWolF Před 3 lety

    Awesome presentation. Truly gifted at explaining concepts

  • @satishrock9621
    @satishrock9621 Před 6 lety

    Awesome Explanation Sir. Thank you so much

  • @SharanSatkhed
    @SharanSatkhed Před 5 lety

    GREAT!!! Awesome presentation. Thanks a lot...

  • @KushalMaharana
    @KushalMaharana Před 8 lety

    I learnt a lot from this video thank you!

  • @SourabhBhat
    @SourabhBhat Před 8 lety

    Wow!! Such an amazing talk.

  • @maruthih5415
    @maruthih5415 Před 5 lety +1

    Indeed a great talk on lambdas and streams. If you have been coding in java for a year or more , then you could even watch it at 1.75x without losing on any info

  • @alok0412
    @alok0412 Před 8 lety +1

    Simply awesome!

  • @VinayakPanchal007
    @VinayakPanchal007 Před 7 lety

    Great job Mr. Subramaniam !

  • @walterdiaz2003
    @walterdiaz2003 Před 3 lety

    This video is gold.!
    Great Job!!!!

  • @alex771304
    @alex771304 Před rokem

    Thank you. It is such informative video and I really love the way you present it.

  • @helloworldgamingyt
    @helloworldgamingyt Před 6 lety +2

    The Best java talks i have ever seen...
    gc() those unlikers...

  • @tryfonmichalopoulos5656

    This presentation was magnificent !

  • @balucse019
    @balucse019 Před 7 lety +1

    Great respect to you sir 🙏🏽

  • @masterprattu
    @masterprattu Před 3 lety

    One of the best java talks!!

  • @rajeshkumarpatel5068
    @rajeshkumarpatel5068 Před 5 lety +1

    Nice explanation sir... Very informative.. I would say I have never attend any tech show.. Where someone explained like this during my entire career.. Lol now I got it what was missed in my eduction. 😕😕

  • @hippiestafarii
    @hippiestafarii Před 2 lety

    And with no shoes ... love u bro !!!

  • @cyryl1972
    @cyryl1972 Před 5 lety

    how to speak about a boring thing in a very brilliant way ... and in white socks ... amazing !

  • @velganesh30
    @velganesh30 Před 6 lety

    You are one of the very best.

  • @parthdalvi5855
    @parthdalvi5855 Před 8 lety +1

    Simple and outstanding explanation !! :-)

  • @DanielHorrisberger
    @DanielHorrisberger Před 6 lety

    Great Talk! As always from Venkat

  • @aaratprasadchopra3255
    @aaratprasadchopra3255 Před 3 lety

    Best Talk Heard Yet!

  • @akashkadole3034
    @akashkadole3034 Před rokem

    Great explanation with great examples... Thank u for giving me the imp of lambda & stream.

  • @Tikeswarib
    @Tikeswarib Před rokem

    What entertaining educational talk, thoroughly enjoyed!

  • @dshko28
    @dshko28 Před 5 lety +9

    34:48 "So for the first time in a long time, Java is finally intelligent." LOL

  • @LorenzoCrippa76
    @LorenzoCrippa76 Před 8 lety

    Great lesson! Thank you

  • @mitulvaghela906
    @mitulvaghela906 Před 4 lety

    Claps for your passion for programming especially for your comments at 1:00