SlideShare une entreprise Scribd logo
1  sur  1
Télécharger pour lire hors ligne
Eclipse is a free and open source development platform comprising of
extensible frameworks, tools and runtimes.
The Eclipse Java development tools (JDT) project contributes an extensible
full-featured Java IDE to the Eclipse platform. It is considered by many to be
the best Java development tool available.
The next iteration of the Java language i.e. Java 8 is currently scheduled for
general availability in March 2014.
JDT will provide a feature patch for Eclipse Kepler SR2 (4.3.2) and ship Java 8
support with the next Eclipse release i.e. Eclipse Luna (4.4).

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 API evolution

Static Methods
Project Lambda

- Problem:

Functional Interfaces
- Interfaces that define a single abstract method.
- Optionally capture the design intent with @FunctionalInterface annotation.
- Example: Common callback interfaces like Runnable and Comparator.

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.

Type Annotations

Lambda Expressions
- A lambda expression is used to implement a functional interface, without
creating a class or an anonymous class.

- Before Java 8: Annotations could only be applied to declarations.
- As of Java 8: Annotations can also be applied anywhere you use a type!

- Problem: “Tiny anonymous classes” used in callbacks, runnables, event
handlers, comparators etc.
All we need!

- Solution:

Lambda Expression!

Reduced runtime overhead compared to anonymous classes!
- Syntax: (formal parameter list) { expression or statements }
Concise syntax compared to anonymous classes!

Declaration Annotation
Type Use Annotation

Supports improved analysis of Java programs.
Enables checker frameworks and static analysis tools such as Sonar and
FindBugs.
- 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.

Method References
- Problem: A lambda expression that just invokes a named method.
- Solution: Further simplify the implementation of functional interface by using
a shorthand for lambda – method reference of the existing named method.

Join the Eclipse open source community and its large ecosystem of projects:
http://www.eclipse.org/
- Forums: http://www.eclipse.org/forums
- Bugzilla: http://bugs.eclipse.org/bugs/
- Contributing to JDT/UI: http://wiki.eclipse.org/JDT_UI/How_to_Contribute

Noopur Gupta (noopur_gupta@in.ibm.com)
Eclipse JDT/UI Committer
IBM Software Lab, Bangalore

Contenu connexe

En vedette

En vedette (13)

Eclipse and Java 8 - Eclipse Day India 2013
Eclipse and Java 8 - Eclipse Day India 2013Eclipse and Java 8 - Eclipse Day India 2013
Eclipse and Java 8 - Eclipse Day India 2013
 
JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014
 
Java 8 tooling in Eclipse
Java 8 tooling in EclipseJava 8 tooling in Eclipse
Java 8 tooling in Eclipse
 
Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014
 
Developing Applications with MySQL and Java for beginners
Developing Applications with MySQL and Java for beginnersDeveloping Applications with MySQL and Java for beginners
Developing Applications with MySQL and Java for beginners
 
MySQL Cheat Sheet
MySQL Cheat SheetMySQL Cheat Sheet
MySQL Cheat Sheet
 
Web Components Revolution
Web Components RevolutionWeb Components Revolution
Web Components Revolution
 
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
 
Java for beginners
Java for beginnersJava for beginners
Java for beginners
 
24 Books You've Never Heard Of - But Will Change Your Life
24 Books You've Never Heard Of - But Will Change Your Life24 Books You've Never Heard Of - But Will Change Your Life
24 Books You've Never Heard Of - But Will Change Your Life
 
20 Quotes To Turn Your Obstacles Into Opportunities
20 Quotes To Turn Your Obstacles Into Opportunities20 Quotes To Turn Your Obstacles Into Opportunities
20 Quotes To Turn Your Obstacles Into Opportunities
 
Work Rules!
Work Rules!Work Rules!
Work Rules!
 
Cybercrime presentation
Cybercrime presentationCybercrime presentation
Cybercrime presentation
 

Plus de Noopur Gupta

Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Noopur Gupta
 
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
Noopur Gupta
 

Plus de Noopur Gupta (6)

Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!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 IDEJava 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!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 - Java tooling, Tips & Tricks - EclipseCon Europe ...
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
 
What's cool in Eclipse goody bag!
What's cool in Eclipse goody bag!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 8High productivity development with Eclipse and Java 8
High productivity development with Eclipse and Java 8
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Eclipse and Java 8 - GHC 2013 Poster

  • 1. Eclipse is a free and open source development platform comprising of extensible frameworks, tools and runtimes. The Eclipse Java development tools (JDT) project contributes an extensible full-featured Java IDE to the Eclipse platform. It is considered by many to be the best Java development tool available. The next iteration of the Java language i.e. Java 8 is currently scheduled for general availability in March 2014. JDT will provide a feature patch for Eclipse Kepler SR2 (4.3.2) and ship Java 8 support with the next Eclipse release i.e. Eclipse Luna (4.4). 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 API evolution Static Methods Project Lambda - Problem: Functional Interfaces - Interfaces that define a single abstract method. - Optionally capture the design intent with @FunctionalInterface annotation. - Example: Common callback interfaces like Runnable and Comparator. 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. Type Annotations Lambda Expressions - A lambda expression is used to implement a functional interface, without creating a class or an anonymous class. - Before Java 8: Annotations could only be applied to declarations. - As of Java 8: Annotations can also be applied anywhere you use a type! - Problem: “Tiny anonymous classes” used in callbacks, runnables, event handlers, comparators etc. All we need! - Solution: Lambda Expression! Reduced runtime overhead compared to anonymous classes! - Syntax: (formal parameter list) { expression or statements } Concise syntax compared to anonymous classes! Declaration Annotation Type Use Annotation Supports improved analysis of Java programs. Enables checker frameworks and static analysis tools such as Sonar and FindBugs. - 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. Method References - Problem: A lambda expression that just invokes a named method. - Solution: Further simplify the implementation of functional interface by using a shorthand for lambda – method reference of the existing named method. Join the Eclipse open source community and its large ecosystem of projects: http://www.eclipse.org/ - Forums: http://www.eclipse.org/forums - Bugzilla: http://bugs.eclipse.org/bugs/ - Contributing to JDT/UI: http://wiki.eclipse.org/JDT_UI/How_to_Contribute Noopur Gupta (noopur_gupta@in.ibm.com) Eclipse JDT/UI Committer IBM Software Lab, Bangalore