Submit Search
Upload
Eclipse and Java 8 - Eclipse Day India 2013
•
1 like
•
2,024 views
Noopur Gupta
Follow
Talk on "Eclipse and Java 8" at Eclipse Day India (Bangalore) 2013.
Read less
Read more
Technology
News & Politics
Report
Share
Report
Share
1 of 21
Download now
Download to read offline
Recommended
JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014
Noopur Gupta
Eclipse Luna - What's New!
Eclipse Luna - What's New!
Noopur Gupta
Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014
Noopur Gupta
Java 8 tooling in Eclipse
Java 8 tooling in Eclipse
Noopur Gupta
Introduction to c first week slides
Introduction to c first week slides
luqman bawany
Java 8 - Features Overview
Java 8 - Features Overview
Sergii Stets
Introduction of Java 8 with emphasis on Lambda Expressions and Streams
Introduction of Java 8 with emphasis on Lambda Expressions and Streams
Emiel Paasschens
Eclipse Day India 2015 - Unleashing the Java 8 Tooling in Eclipse
Eclipse Day India 2015 - Unleashing the Java 8 Tooling in Eclipse
Eclipse Day India
Recommended
JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014
Noopur Gupta
Eclipse Luna - What's New!
Eclipse Luna - What's New!
Noopur Gupta
Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014
Noopur Gupta
Java 8 tooling in Eclipse
Java 8 tooling in Eclipse
Noopur Gupta
Introduction to c first week slides
Introduction to c first week slides
luqman bawany
Java 8 - Features Overview
Java 8 - Features Overview
Sergii Stets
Introduction of Java 8 with emphasis on Lambda Expressions and Streams
Introduction of Java 8 with emphasis on Lambda Expressions and Streams
Emiel Paasschens
Eclipse Day India 2015 - Unleashing the Java 8 Tooling in Eclipse
Eclipse Day India 2015 - Unleashing the Java 8 Tooling in Eclipse
Eclipse Day India
Major Java 8 features
Major Java 8 features
Sanjoy Kumar Roy
java 8 new features
java 8 new features
Rohit Verma
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8
Takipi
C++ question and answers
C++ question and answers
AdenKheire
Functional programming with Xtend
Functional programming with Xtend
Sven Efftinge
Xtend - better java with -less- noise
Xtend - better java with -less- noise
Neeraj Bhusare
Functional programming with Java 8
Functional programming with Java 8
Talha Ocakçı
C progrmming
C progrmming
Shivam Singhal
Insight into java 1.8, OOP VS FP
Insight into java 1.8, OOP VS FP
Syed Awais Mazhar Bukhari
Java ce241
Java ce241
Minal Maniar
The OCLforUML Profile
The OCLforUML Profile
Edward Willink
Functional programming with Java 8
Functional programming with Java 8
LivePerson
Xtext Webinar
Xtext Webinar
Heiko Behrens
Java 8 new features
Java 8 new features
Aniket Thakur
Java8 features
Java8 features
Minal Maniar
Functional programming principles and Java 8
Functional programming principles and Java 8
Dragos Balan
C++ to java
C++ to java
Ajmal Ak
From Java to Kotlin
From Java to Kotlin
João Ferrão
Functional programming in scala
Functional programming in scala
Stratio
Cs30 New
Cs30 New
DSK Chakravarthy
Functional programming in java 8 by harmeet singh
Functional programming in java 8 by harmeet singh
Harmeet Singh(Taara)
Week-1..................................
Week-1..................................
kmjanani05
More Related Content
What's hot
Major Java 8 features
Major Java 8 features
Sanjoy Kumar Roy
java 8 new features
java 8 new features
Rohit Verma
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8
Takipi
C++ question and answers
C++ question and answers
AdenKheire
Functional programming with Xtend
Functional programming with Xtend
Sven Efftinge
Xtend - better java with -less- noise
Xtend - better java with -less- noise
Neeraj Bhusare
Functional programming with Java 8
Functional programming with Java 8
Talha Ocakçı
C progrmming
C progrmming
Shivam Singhal
Insight into java 1.8, OOP VS FP
Insight into java 1.8, OOP VS FP
Syed Awais Mazhar Bukhari
Java ce241
Java ce241
Minal Maniar
The OCLforUML Profile
The OCLforUML Profile
Edward Willink
Functional programming with Java 8
Functional programming with Java 8
LivePerson
Xtext Webinar
Xtext Webinar
Heiko Behrens
Java 8 new features
Java 8 new features
Aniket Thakur
Java8 features
Java8 features
Minal Maniar
Functional programming principles and Java 8
Functional programming principles and Java 8
Dragos Balan
C++ to java
C++ to java
Ajmal Ak
From Java to Kotlin
From Java to Kotlin
João Ferrão
Functional programming in scala
Functional programming in scala
Stratio
Cs30 New
Cs30 New
DSK Chakravarthy
What's hot
(20)
Major Java 8 features
Major Java 8 features
java 8 new features
java 8 new features
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8
C++ question and answers
C++ question and answers
Functional programming with Xtend
Functional programming with Xtend
Xtend - better java with -less- noise
Xtend - better java with -less- noise
Functional programming with Java 8
Functional programming with Java 8
C progrmming
C progrmming
Insight into java 1.8, OOP VS FP
Insight into java 1.8, OOP VS FP
Java ce241
Java ce241
The OCLforUML Profile
The OCLforUML Profile
Functional programming with Java 8
Functional programming with Java 8
Xtext Webinar
Xtext Webinar
Java 8 new features
Java 8 new features
Java8 features
Java8 features
Functional programming principles and Java 8
Functional programming principles and Java 8
C++ to java
C++ to java
From Java to Kotlin
From Java to Kotlin
Functional programming in scala
Functional programming in scala
Cs30 New
Cs30 New
Similar to Eclipse and Java 8 - Eclipse Day India 2013
Functional programming in java 8 by harmeet singh
Functional programming in java 8 by harmeet singh
Harmeet Singh(Taara)
Week-1..................................
Week-1..................................
kmjanani05
Colloquium Report
Colloquium Report
Mohammad Faizan
Lambdas in Java 8
Lambdas in Java 8
Tobias Coetzee
Java 8 - An Overview
Java 8 - An Overview
Indrajit Das
Java 8-revealed
Java 8-revealed
Hamed Hatami
Java 8 Features
Java 8 Features
Leninkumar Koppoju
Java 8 lambdas expressions
Java 8 lambdas expressions
Lars Lemos
14274730 (1).ppt
14274730 (1).ppt
aptechaligarh
Java 8 Overview
Java 8 Overview
Nicola Pedot
Lambda Expressions Java 8 Features usage
Lambda Expressions Java 8 Features usage
AsmaShaikh478737
Lambdas and-streams-s ritter-v3
Lambdas and-streams-s ritter-v3
Simon Ritter
JDT embraces lambda expressions
JDT embraces lambda expressions
Eclipse Day India
Towards Improving Interface Modularity in Legacy Java Software Through Automa...
Towards Improving Interface Modularity in Legacy Java Software Through Automa...
New York City College of Technology Computer Systems Technology Colloquium
New c sharp3_features_(linq)_part_ii
New c sharp3_features_(linq)_part_ii
Nico Ludwig
LambdaExpressionInjavaforlearning fucntion
LambdaExpressionInjavaforlearning fucntion
ShivamMishra465316
Java 8 Lambda Expressions & Streams
Java 8 Lambda Expressions & Streams
NewCircle Training
Java+8-New+Features.pdf
Java+8-New+Features.pdf
gurukanth4
Lambda: A Peek Under The Hood - Brian Goetz
Lambda: A Peek Under The Hood - Brian Goetz
JAX London
Lambda expressions java8 - yousry
Lambda expressions java8 - yousry
yousry ibrahim
Similar to Eclipse and Java 8 - Eclipse Day India 2013
(20)
Functional programming in java 8 by harmeet singh
Functional programming in java 8 by harmeet singh
Week-1..................................
Week-1..................................
Colloquium Report
Colloquium Report
Lambdas in Java 8
Lambdas in Java 8
Java 8 - An Overview
Java 8 - An Overview
Java 8-revealed
Java 8-revealed
Java 8 Features
Java 8 Features
Java 8 lambdas expressions
Java 8 lambdas expressions
14274730 (1).ppt
14274730 (1).ppt
Java 8 Overview
Java 8 Overview
Lambda Expressions Java 8 Features usage
Lambda Expressions Java 8 Features usage
Lambdas and-streams-s ritter-v3
Lambdas and-streams-s ritter-v3
JDT embraces lambda expressions
JDT embraces lambda expressions
Towards Improving Interface Modularity in Legacy Java Software Through Automa...
Towards Improving Interface Modularity in Legacy Java Software Through Automa...
New c sharp3_features_(linq)_part_ii
New c sharp3_features_(linq)_part_ii
LambdaExpressionInjavaforlearning fucntion
LambdaExpressionInjavaforlearning fucntion
Java 8 Lambda Expressions & Streams
Java 8 Lambda Expressions & Streams
Java+8-New+Features.pdf
Java+8-New+Features.pdf
Lambda: A Peek Under The Hood - Brian Goetz
Lambda: A Peek Under The Hood - Brian Goetz
Lambda expressions java8 - yousry
Lambda expressions java8 - yousry
More from Noopur Gupta
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Noopur Gupta
Java 14 support in Eclipse IDE
Java 14 support in Eclipse IDE
Noopur Gupta
Unleashing the Java Tooling in Eclipse IDE - Tips & Tricks!
Unleashing the Java Tooling in Eclipse IDE - Tips & Tricks!
Noopur Gupta
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Noopur Gupta
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Noopur Gupta
What's cool in Eclipse goody bag!
What's cool in Eclipse goody bag!
Noopur Gupta
High productivity development with Eclipse and Java 8
High productivity development with Eclipse and Java 8
Noopur Gupta
More from Noopur Gupta
(7)
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Java 14 support in Eclipse IDE
Java 14 support in Eclipse IDE
Unleashing the Java Tooling in Eclipse IDE - Tips & Tricks!
Unleashing the Java Tooling in Eclipse IDE - Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
What's cool in Eclipse goody bag!
What's cool in Eclipse goody bag!
High productivity development with Eclipse and Java 8
High productivity development with Eclipse and Java 8
Recently uploaded
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
Jennifer Lim
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
CzechDreamin
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
Stefano
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
CzechDreamin
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
Syngulon
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
FIDO Alliance
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
FIDO Alliance
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
TopCSSGallery
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
vincent683379
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
CzechDreamin
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
CzechDreamin
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
FIDO Alliance
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
ChristopherTHyatt
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
Zilliz
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
CzechDreamin
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
Mark Opanasiuk
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
DianaGray10
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
FIDO Alliance
Recently uploaded
(20)
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
Eclipse and Java 8 - Eclipse Day India 2013
1.
© 2013 IBM
Corporation | Eclipse and Java 8 1 ECLIPSE AND JAVATM 8 Noopur Gupta Eclipse JDT/UI Committer IBM Software lab noopur_gupta@in.ibm.com
2.
© 2013 IBM
Corporation | Eclipse and Java 8 2
3.
© 2013 IBM
Corporation | Eclipse and Java 8 3
4.
© 2013 IBM
Corporation | Eclipse and Java 8 4 Project Lambda Functional Interfaces Old content, new name! Interfaces that define a single abstract method (excluding Object methods), are now called as Functional Interfaces. Examples: Common callback interfaces like Runnable and Comparator. Optionally capture the design intent with the @FunctionalInterface annotation.
5.
© 2013 IBM
Corporation | Eclipse and Java 8 5 Project Lambda Functional Interfaces
6.
© 2013 IBM
Corporation | Eclipse and Java 8 6 Problem: “Tiny” anonymous classes. Used in callbacks, runnables, event handlers, comparators etc. All we need! Project Lambda Lambda Expressions
7.
© 2013 IBM
Corporation | Eclipse and Java 8 7 Solution: Lambda Expression! Project Lambda Lambda Expressions A lambda expression is used to implement a functional interface, without creating a class or an anonymous class. Reduced runtime overhead compared to anonymous classes! VM and JRE optimizations in lambda meta factory. Method invocation with invokedynamic bytecode instruction.
8.
© 2013 IBM
Corporation | Eclipse and Java 8 8 Project Lambda Lambda Expressions Syntax: (formal parameter list) -> { expression or statements } Syntax variants: Concise syntax compared to anonymous classes !
9.
© 2013 IBM
Corporation | Eclipse and Java 8 9 Project Lambda Lambda Expressions Target type of a lambda expression must be a functional interface. Target type is inferred from the surrounding context. Lambda parameters' types can be inferred. A lambda is a method without a name and without an identity (no 'this'). Lambda Expressions do not define a new level of scope (just like for loops and catch clauses).
10.
© 2013 IBM
Corporation | Eclipse and Java 8 10 Project Lambda Lambda Expressions Lambda Expressions can capture (reference) local variables of enclosing contexts if the local variables are final or effectively final (if its initial value is never changed). Beneficial for memory management: Inner class instances always hold a strong reference to their enclosing instance can lead to memory leaks. Lambda expressions that do not capture members from the enclosing instance do not hold a reference to it !
11.
© 2013 IBM
Corporation | Eclipse and Java 8 11 Project Lambda Method References Problem: A lambda expression that just invokes a named method – has to provide a method body. Solution: A shorthand for lambda – method reference of the existing named method.
12.
© 2013 IBM
Corporation | Eclipse and Java 8 12 A method reference is used to refer to a method without invoking it. A constructor reference is used to refer to a constructor without creating a new instance of the named class or array type. Project Lambda Method References Kinds of method references: A static method (ClassName::methName) An instance method of a particular object (instanceRef::methName) A super method of a particular object (super::methName) An instance method of an arbitrary object of a particular type (ClassName::methName) Kinds of Constructor references: A class constructor reference (ClassName::new) An array constructor reference (TypeName[]::new)
13.
© 2013 IBM
Corporation | Eclipse and Java 8 13 Project Lambda Method References Example:
14.
© 2013 IBM
Corporation | Eclipse and Java 8 14 Project Lambda : Interface Improvements Default Methods Problem: Evolve interfaces without introducing incompatibility with existing implementations. Standard Java libraries need new lambda-friendly methods. Solution: Default methods – means of painless API evolution.
15.
© 2013 IBM
Corporation | Eclipse and Java 8 15 Project Lambda : Interface Improvements Static Methods Problem: A common scenario – Java libraries having companion utility classes with static methods. Solution: Static methods – allow helper methods specific to an interface to live with the interface.
16.
© 2013 IBM
Corporation | Eclipse and Java 8 16
17.
© 2013 IBM
Corporation | Eclipse and Java 8 17 Type Annotations Before Java 8 : Annotations could only be applied to declarations. As of Java 8 : Annotations can also be applied anywhere you use a type! Support improved analysis of Java programs. Enabler for checker frameworks and static analysis tools such as Sonar and FindBugs. Declaration Annotation Type Use Annotation
18.
© 2013 IBM
Corporation | Eclipse and Java 8 18 Type Annotations @ Examples: To declare a non-empty array of English-language strings: Each non-static method has an implicit formal parameter, this, which is called the receiver. In Java 8, it is permitted to explicitly declare the method receiver as the first formal parameter. The only purpose of writing the receiver explicitly is to make it possible to annotate the receiver’s type.
19.
© 2013 IBM
Corporation | Eclipse and Java 8 19 Type Annotations Use of a type name as a scoping mechanism is not a type use, hence cannot be annotated. Examples:
20.
© 2013 IBM
Corporation | Eclipse and Java 8 20 Set up Eclipse IDE (unreleased beta impl): http://wiki.eclipse.org/JDT_Core/Java8#What_to_do_to_set _up_the_IDE Java 8 features: http://openjdk.java.net/projects/jdk8/features Lambda FAQ: http://www.lambdafaq.org Trying Out Lambda Expressions in the Eclipse IDE: http://www.oracle.com/technetwork/articles/java/lambda- 1984522.html Type Annotations Specification: http://types.cs.washington.edu/jsr308/specification/java- annotation-design.html
21.
© 2013 IBM
Corporation | Eclipse and Java 8 21
Download now