SlideShare uma empresa Scribd logo
1 de 47
What’s New in Java 5, 6 & 7
Delivered by DevelopIntelligence
About DevelopIntelligence
Provide highly-customized, role-based, project-
centric learning solutions to software teams
Specialize in areas of Java, Open Source, Web
Development, and Mobile
Delivered training to over 40,000 engineers
worldwide
Headquartered in Boulder CO
About Kelby Zorgdrager
President of DevelopIntelligence
Working with and teaching
Java since 1996 (1.0.1)
Former Sun Microsystems Java Platform
engineer
Delivered training to over 5,000 engineers
worldwide
Copyright DevelopIntelligence LLC
Webinar Topics
In this presentation, we will cover:
Current State of Java
Newish Language Features
Questions at the end
DevelopIntelligence http://www.DevelopIntelligence.com 4
Objectives
When we are done, you should be:
Familiar with current state of Java
Aware of new features
DevelopIntelligence http://www.DevelopIntelligence.com 5
Current State of Java
Copyright DevelopIntelligence LLC
Java SE 5.0
Significant revamp of Java
Not largest revamp in terms of new APIs
Significance lies in new language features
Released Sept 2004 - Code named “Tiger”
EOL’d Oct 30, 2009
Current version 1.5 update 22
DevelopIntelligence http://www.DevelopIntelligence.com 7
Java SE 6
Focused on refreshing APIs, internals, and
Scripting support
Released Dec 2006 - Code named “Mustag”
Current version 1.6 update 43
DevelopIntelligence http://www.DevelopIntelligence.com 8
Java SE 7
Focused on simplifying
language, APIs, internals, and dynamic
language support
Released July 2011 - Code named “Dolphin”
Current version 1.7 update 21
DevelopIntelligence http://www.DevelopIntelligence.com 9
Breadth of Java Across Versions
10DevelopIntelligence http://www.DevelopIntelligence.com
8 22 59 76 135 166 203 209202
477
1524
1840
2723
3279
3793
4024
0
500
1000
1500
2000
2500
3000
3500
4000
4500
1.0.2 1.1 1.2 1.3 1.4 1.5 1.6 1.7
Amount
Java Version
Growth of Java
Packages
Classes
Growth of Java Across Versions
11DevelopIntelligence http://www.DevelopIntelligence.com
0
275
268
129
178
123 122
103
0
236
319
121
148
120
116
106
0
50
100
150
200
250
300
350
1.0.2 1.1 1.2 1.3 1.4 1.5 1.6 1.7
PercentageGrowth
Version
Growth of Java
Package Growth
Class Growth
Language Features
“newish”
Copyright DevelopIntelligence LLC
General Language Niceties
Copyright DevelopIntelligence LLC
Single Static Import [1.5]
14DevelopIntelligence http://www.DevelopIntelligence.com
provide direct access to static variables and methods
On-Demand Static Import [1.5]
15DevelopIntelligence http://www.DevelopIntelligence.com
Literals [1.7]
Copyright DevelopIntelligence LLC
Simplification of Strings [1.7]
Strings are constants - And - treated like
primitives (at least from a coding perspective)
But until Java 7 – weren’t supported in switch
statements
Copyright DevelopIntelligence LLC
String a = “Hello”;
. . .
switch(a) {
case “hello”:
case “Hello”:
case “HELLO”
//do something
break;
default:
//do something else
break;
}
Autoboxing [1.5]
18DevelopIntelligence http://www.DevelopIntelligence.com
Collection Autoboxing [1.5]
19DevelopIntelligence http://www.DevelopIntelligence.com
Autoboxing Support
Primitive Type Reference Type
boolean java.lang.Boolean
byte java.lang.Byte
short java.lang.Short
int java.lang.Integer
long java.lang.Long
float java.lang.Float
double java.lang.Double
char java.lang.Character
20DevelopIntelligence http://www.DevelopIntelligence.com
For-each Loop [1.5]
21DevelopIntelligence http://www.DevelopIntelligence.com
Iterable For-each Loop [1.5]
22DevelopIntelligence http://www.DevelopIntelligence.com
Variable Method Arguments [old way]
23DevelopIntelligence http://www.DevelopIntelligence.com
varargs [1.5]
24DevelopIntelligence http://www.DevelopIntelligence.com
enums
Copyright DevelopIntelligence LLC
Working with an Enum
Enums are types – provide type safety for a
closed set of values
Values are instances of an enum type
Stored as static final fields in type
Defined in terms of
name - stringified representation of field name
ordinal - position in set
Referencable through dot-notation
Are switchable
26DevelopIntelligence http://www.DevelopIntelligence.com
enum [1.5]
27DevelopIntelligence http://www.DevelopIntelligence.com
Working with an Enum [cont.]
Reference using dot notation
Enums have some predefined static methods
values – retrieves all enum instances
valueOf - transforms String value into enum instance
Have some predefined instance methods
name – upper-case name of enum instance
toString
equals
hashCode
28DevelopIntelligence http://www.DevelopIntelligence.com
Accessing an Enum Value
29DevelopIntelligence http://www.DevelopIntelligence.com
Enum Switch Example
30DevelopIntelligence http://www.DevelopIntelligence.com
Enum Method Example
31DevelopIntelligence http://www.DevelopIntelligence.com
Prints:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
Typesafe Collections
Copyright DevelopIntelligence LLC
Typesafe Collection Advantages
Adds compile time type safety to collections
Type safety simplifies collection interactions (ie:
iterating)
No advantages (or disadvantages) in speed or
performance
33DevelopIntelligence http://www.DevelopIntelligence.com
Simple List Example [Old way]
34DevelopIntelligence http://www.DevelopIntelligence.com
Simple List Example [1.5]
35DevelopIntelligence http://www.DevelopIntelligence.com
Simplification of Generics [1.7]
1.5 way of declaring and initializing a collection:
List<String> list = new ArrayList<String>();
Compiler should be “smart enough” to infer type
from declaration
1.7 way of declaring and initializing:
List<String> list = new ArrayList<>();
Copyright DevelopIntelligence LLC
Annotations
Copyright DevelopIntelligence LLC
Annotations
Metadata facility for Java
Allowing you to provide additional data alongside Java
classes
Similar to Javadoc “metadata” facility
Expanded and formalized mechanism
“Competes” with Doclet / XDoclet
Recognized by Java compiler and other tools
DevelopIntelligence http://www.DevelopIntelligence.com 38
@Override Example [1.5]
39DevelopIntelligence http://www.DevelopIntelligence.com
Covariant Returns
Copyright DevelopIntelligence LLC
Covariant Returns
What are they?
Allows return type of inherited method to be narrowed
Applies to method over-riding not over-loading
Why do they exist?
Needed to support generics mechanism
Removes narrowing cast on polymorphic returns
Prevents run-time ClassCastExceptions on returns
Provides compile-time type dependency checking
41DevelopIntelligence http://www.DevelopIntelligence.com
Covariant Return Example [1.5]
DevelopIntelligence http://www.DevelopIntelligence.com 42
43
Auto-Closing Resources
DevelopIntelligence http://www.DevelopIntelligence.com
Simplification of try/catch [1.7]
There’s a lot of try/catch/finally boiler-plate code
out there
Why not let the compiler generate it for you?
Copyright DevelopIntelligence LLC
FileInputStream fis;
try {
fis = new FileInputStream(“/tmp/myfile.txt”);
…
} catch(IOException ioe) {
…
} finally {
fis.close()
}
try (InputStream fis =new FileInputStream(“/tmp/myfile.txt”)) {
…
}
New way
Simplification of try/catch [1.7]
Do we really need all those catches?
Copyright DevelopIntelligence LLC
How DevelopIntelligence Can Help?
FAST: We can provide customized on-site training within
two weeks to help with tight deadlines.
CUSTOMIZED: Complete customization of the training
you need at no additional costs to your organization.
AFFORDABLE: We have the most flexible pricing
module in the industry and can work with any budget.
CONTACT US: 877-629-5631
dave@developintelligence.com
kelby@developintelligence.com
DevelopIntelligence http://www.DevelopIntelligence.com 46
Win a Free Safari Account
Question:
“What date did the FCS of JDK 1.0 occur”
Post your answer to:
LinkedIn:
http://www.linkedin.com/company/developintelligence
Twitter: http://twitter.com/DevIntelligence
All correct answers will be entered into a raffle –
winners will be announced Monday June 17
Copyright DevelopIntelligence LLC

Mais conteúdo relacionado

Mais procurados

Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams Ganesh Samarthyam
 
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...Jorge Hidalgo
 
Java Code Generation for Productivity
Java Code Generation for ProductivityJava Code Generation for Productivity
Java Code Generation for ProductivityDavid Noble
 
The Art of Metaprogramming in Java
The Art of Metaprogramming in Java  The Art of Metaprogramming in Java
The Art of Metaprogramming in Java Abdelmonaim Remani
 
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
Modern Programming in Java 8 - Lambdas, Streams and Date Time APIModern Programming in Java 8 - Lambdas, Streams and Date Time API
Modern Programming in Java 8 - Lambdas, Streams and Date Time APIGanesh Samarthyam
 
Functional Java 8 - Introduction
Functional Java 8 - IntroductionFunctional Java 8 - Introduction
Functional Java 8 - IntroductionŁukasz Biały
 
JShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java PlatformJShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java PlatformJavaDayUA
 
Interactive Java Support to your tool -- The JShell API and Architecture
Interactive Java Support to your tool -- The JShell API and ArchitectureInteractive Java Support to your tool -- The JShell API and Architecture
Interactive Java Support to your tool -- The JShell API and ArchitectureJavaDayUA
 
Synapseindia reviews.odp.
Synapseindia reviews.odp.Synapseindia reviews.odp.
Synapseindia reviews.odp.Tarunsingh198
 
Getting started with Java 9 modules
Getting started with Java 9 modulesGetting started with Java 9 modules
Getting started with Java 9 modulesRafael Winterhalter
 
Java Platform Module System
Java Platform Module SystemJava Platform Module System
Java Platform Module SystemVignesh Ramesh
 
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8Takipi
 

Mais procurados (20)

Java 8 Feature Preview
Java 8 Feature PreviewJava 8 Feature Preview
Java 8 Feature Preview
 
02 basic java programming and operators
02 basic java programming and operators02 basic java programming and operators
02 basic java programming and operators
 
Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams
 
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...
 
Java concurrency questions and answers
Java concurrency questions and answers Java concurrency questions and answers
Java concurrency questions and answers
 
Java Code Generation for Productivity
Java Code Generation for ProductivityJava Code Generation for Productivity
Java Code Generation for Productivity
 
The Art of Metaprogramming in Java
The Art of Metaprogramming in Java  The Art of Metaprogramming in Java
The Art of Metaprogramming in Java
 
Java tutorials
Java tutorialsJava tutorials
Java tutorials
 
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
Modern Programming in Java 8 - Lambdas, Streams and Date Time APIModern Programming in Java 8 - Lambdas, Streams and Date Time API
Modern Programming in Java 8 - Lambdas, Streams and Date Time API
 
Functional Java 8 - Introduction
Functional Java 8 - IntroductionFunctional Java 8 - Introduction
Functional Java 8 - Introduction
 
JShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java PlatformJShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java Platform
 
Interactive Java Support to your tool -- The JShell API and Architecture
Interactive Java Support to your tool -- The JShell API and ArchitectureInteractive Java Support to your tool -- The JShell API and Architecture
Interactive Java Support to your tool -- The JShell API and Architecture
 
Java Programming - 01 intro to java
Java Programming - 01 intro to javaJava Programming - 01 intro to java
Java Programming - 01 intro to java
 
Core java
Core javaCore java
Core java
 
Synapseindia reviews.odp.
Synapseindia reviews.odp.Synapseindia reviews.odp.
Synapseindia reviews.odp.
 
Getting started with Java 9 modules
Getting started with Java 9 modulesGetting started with Java 9 modules
Getting started with Java 9 modules
 
Java Platform Module System
Java Platform Module SystemJava Platform Module System
Java Platform Module System
 
Java Tutorial
Java TutorialJava Tutorial
Java Tutorial
 
Core Java - Quiz Questions - Bug Hunt
Core Java - Quiz Questions - Bug HuntCore Java - Quiz Questions - Bug Hunt
Core Java - Quiz Questions - Bug Hunt
 
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8
 

Semelhante a Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)

Testing Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianReza Rahman
 
Java Coaching in Hyderabad introduction
Java Coaching in Hyderabad  introductionJava Coaching in Hyderabad  introduction
Java Coaching in Hyderabad introductionAzure Data Factory
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Testing Java Web Apps With Selenium
Testing Java Web Apps With SeleniumTesting Java Web Apps With Selenium
Testing Java Web Apps With SeleniumMarakana Inc.
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE abile technologies
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about javakanchanmahajan23
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Appschrisb206 chrisb206
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentationdhananajay95
 
Java 8 - New Updates and Why It Matters?
Java 8 - New Updates and Why It Matters?Java 8 - New Updates and Why It Matters?
Java 8 - New Updates and Why It Matters?CTE Solutions Inc.
 
JAVA PROGRAMMING-Unit I - Final PPT.pptx
JAVA PROGRAMMING-Unit I - Final PPT.pptxJAVA PROGRAMMING-Unit I - Final PPT.pptx
JAVA PROGRAMMING-Unit I - Final PPT.pptxSuganthiDPSGRKCW
 
Building JBoss AS 7 for Fedora
Building JBoss AS 7 for FedoraBuilding JBoss AS 7 for Fedora
Building JBoss AS 7 for Fedorawolfc71
 
Building Large Java Projects Faster: Multicore javac and Makefile integration
Building Large Java Projects Faster: Multicore javac and Makefile integrationBuilding Large Java Projects Faster: Multicore javac and Makefile integration
Building Large Java Projects Faster: Multicore javac and Makefile integrationFredrik Öhrström
 
Java2 platform
Java2 platformJava2 platform
Java2 platformSajan Sahu
 
Lublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design PatternsLublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design PatternsKarol Szmaj
 
Survey of restful web services frameworks
Survey of restful web services frameworksSurvey of restful web services frameworks
Survey of restful web services frameworksVijay Prasad Gupta
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesPavel Bucek
 
Core java programming tutorial - Brainsmartlabs
Core java programming tutorial - BrainsmartlabsCore java programming tutorial - Brainsmartlabs
Core java programming tutorial - Brainsmartlabsbrainsmartlabsedu
 

Semelhante a Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013) (20)

Testing Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using Arquillian
 
Java Coaching in Hyderabad introduction
Java Coaching in Hyderabad  introductionJava Coaching in Hyderabad  introduction
Java Coaching in Hyderabad introduction
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Testing Java Web Apps With Selenium
Testing Java Web Apps With SeleniumTesting Java Web Apps With Selenium
Testing Java Web Apps With Selenium
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
J introtojava1-pdf
J introtojava1-pdfJ introtojava1-pdf
J introtojava1-pdf
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
 
Advance java prasentation
Advance java prasentationAdvance java prasentation
Advance java prasentation
 
Java 8 - New Updates and Why It Matters?
Java 8 - New Updates and Why It Matters?Java 8 - New Updates and Why It Matters?
Java 8 - New Updates and Why It Matters?
 
JAVA PROGRAMMING-Unit I - Final PPT.pptx
JAVA PROGRAMMING-Unit I - Final PPT.pptxJAVA PROGRAMMING-Unit I - Final PPT.pptx
JAVA PROGRAMMING-Unit I - Final PPT.pptx
 
Building JBoss AS 7 for Fedora
Building JBoss AS 7 for FedoraBuilding JBoss AS 7 for Fedora
Building JBoss AS 7 for Fedora
 
Building Large Java Projects Faster: Multicore javac and Makefile integration
Building Large Java Projects Faster: Multicore javac and Makefile integrationBuilding Large Java Projects Faster: Multicore javac and Makefile integration
Building Large Java Projects Faster: Multicore javac and Makefile integration
 
Java2 platform
Java2 platformJava2 platform
Java2 platform
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Lublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design PatternsLublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design Patterns
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
Survey of restful web services frameworks
Survey of restful web services frameworksSurvey of restful web services frameworks
Survey of restful web services frameworks
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
 
Core java programming tutorial - Brainsmartlabs
Core java programming tutorial - BrainsmartlabsCore java programming tutorial - Brainsmartlabs
Core java programming tutorial - Brainsmartlabs
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Whats New in Java 5, 6, & 7 (Webinar Presentation - June 2013)

  • 1. What’s New in Java 5, 6 & 7 Delivered by DevelopIntelligence
  • 2. About DevelopIntelligence Provide highly-customized, role-based, project- centric learning solutions to software teams Specialize in areas of Java, Open Source, Web Development, and Mobile Delivered training to over 40,000 engineers worldwide Headquartered in Boulder CO
  • 3. About Kelby Zorgdrager President of DevelopIntelligence Working with and teaching Java since 1996 (1.0.1) Former Sun Microsystems Java Platform engineer Delivered training to over 5,000 engineers worldwide Copyright DevelopIntelligence LLC
  • 4. Webinar Topics In this presentation, we will cover: Current State of Java Newish Language Features Questions at the end DevelopIntelligence http://www.DevelopIntelligence.com 4
  • 5. Objectives When we are done, you should be: Familiar with current state of Java Aware of new features DevelopIntelligence http://www.DevelopIntelligence.com 5
  • 6. Current State of Java Copyright DevelopIntelligence LLC
  • 7. Java SE 5.0 Significant revamp of Java Not largest revamp in terms of new APIs Significance lies in new language features Released Sept 2004 - Code named “Tiger” EOL’d Oct 30, 2009 Current version 1.5 update 22 DevelopIntelligence http://www.DevelopIntelligence.com 7
  • 8. Java SE 6 Focused on refreshing APIs, internals, and Scripting support Released Dec 2006 - Code named “Mustag” Current version 1.6 update 43 DevelopIntelligence http://www.DevelopIntelligence.com 8
  • 9. Java SE 7 Focused on simplifying language, APIs, internals, and dynamic language support Released July 2011 - Code named “Dolphin” Current version 1.7 update 21 DevelopIntelligence http://www.DevelopIntelligence.com 9
  • 10. Breadth of Java Across Versions 10DevelopIntelligence http://www.DevelopIntelligence.com 8 22 59 76 135 166 203 209202 477 1524 1840 2723 3279 3793 4024 0 500 1000 1500 2000 2500 3000 3500 4000 4500 1.0.2 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Amount Java Version Growth of Java Packages Classes
  • 11. Growth of Java Across Versions 11DevelopIntelligence http://www.DevelopIntelligence.com 0 275 268 129 178 123 122 103 0 236 319 121 148 120 116 106 0 50 100 150 200 250 300 350 1.0.2 1.1 1.2 1.3 1.4 1.5 1.6 1.7 PercentageGrowth Version Growth of Java Package Growth Class Growth
  • 13. General Language Niceties Copyright DevelopIntelligence LLC
  • 14. Single Static Import [1.5] 14DevelopIntelligence http://www.DevelopIntelligence.com provide direct access to static variables and methods
  • 15. On-Demand Static Import [1.5] 15DevelopIntelligence http://www.DevelopIntelligence.com
  • 17. Simplification of Strings [1.7] Strings are constants - And - treated like primitives (at least from a coding perspective) But until Java 7 – weren’t supported in switch statements Copyright DevelopIntelligence LLC String a = “Hello”; . . . switch(a) { case “hello”: case “Hello”: case “HELLO” //do something break; default: //do something else break; }
  • 19. Collection Autoboxing [1.5] 19DevelopIntelligence http://www.DevelopIntelligence.com
  • 20. Autoboxing Support Primitive Type Reference Type boolean java.lang.Boolean byte java.lang.Byte short java.lang.Short int java.lang.Integer long java.lang.Long float java.lang.Float double java.lang.Double char java.lang.Character 20DevelopIntelligence http://www.DevelopIntelligence.com
  • 21. For-each Loop [1.5] 21DevelopIntelligence http://www.DevelopIntelligence.com
  • 22. Iterable For-each Loop [1.5] 22DevelopIntelligence http://www.DevelopIntelligence.com
  • 23. Variable Method Arguments [old way] 23DevelopIntelligence http://www.DevelopIntelligence.com
  • 26. Working with an Enum Enums are types – provide type safety for a closed set of values Values are instances of an enum type Stored as static final fields in type Defined in terms of name - stringified representation of field name ordinal - position in set Referencable through dot-notation Are switchable 26DevelopIntelligence http://www.DevelopIntelligence.com
  • 28. Working with an Enum [cont.] Reference using dot notation Enums have some predefined static methods values – retrieves all enum instances valueOf - transforms String value into enum instance Have some predefined instance methods name – upper-case name of enum instance toString equals hashCode 28DevelopIntelligence http://www.DevelopIntelligence.com
  • 29. Accessing an Enum Value 29DevelopIntelligence http://www.DevelopIntelligence.com
  • 30. Enum Switch Example 30DevelopIntelligence http://www.DevelopIntelligence.com
  • 31. Enum Method Example 31DevelopIntelligence http://www.DevelopIntelligence.com Prints: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
  • 33. Typesafe Collection Advantages Adds compile time type safety to collections Type safety simplifies collection interactions (ie: iterating) No advantages (or disadvantages) in speed or performance 33DevelopIntelligence http://www.DevelopIntelligence.com
  • 34. Simple List Example [Old way] 34DevelopIntelligence http://www.DevelopIntelligence.com
  • 35. Simple List Example [1.5] 35DevelopIntelligence http://www.DevelopIntelligence.com
  • 36. Simplification of Generics [1.7] 1.5 way of declaring and initializing a collection: List<String> list = new ArrayList<String>(); Compiler should be “smart enough” to infer type from declaration 1.7 way of declaring and initializing: List<String> list = new ArrayList<>(); Copyright DevelopIntelligence LLC
  • 38. Annotations Metadata facility for Java Allowing you to provide additional data alongside Java classes Similar to Javadoc “metadata” facility Expanded and formalized mechanism “Competes” with Doclet / XDoclet Recognized by Java compiler and other tools DevelopIntelligence http://www.DevelopIntelligence.com 38
  • 39. @Override Example [1.5] 39DevelopIntelligence http://www.DevelopIntelligence.com
  • 41. Covariant Returns What are they? Allows return type of inherited method to be narrowed Applies to method over-riding not over-loading Why do they exist? Needed to support generics mechanism Removes narrowing cast on polymorphic returns Prevents run-time ClassCastExceptions on returns Provides compile-time type dependency checking 41DevelopIntelligence http://www.DevelopIntelligence.com
  • 42. Covariant Return Example [1.5] DevelopIntelligence http://www.DevelopIntelligence.com 42
  • 44. Simplification of try/catch [1.7] There’s a lot of try/catch/finally boiler-plate code out there Why not let the compiler generate it for you? Copyright DevelopIntelligence LLC FileInputStream fis; try { fis = new FileInputStream(“/tmp/myfile.txt”); … } catch(IOException ioe) { … } finally { fis.close() } try (InputStream fis =new FileInputStream(“/tmp/myfile.txt”)) { … } New way
  • 45. Simplification of try/catch [1.7] Do we really need all those catches? Copyright DevelopIntelligence LLC
  • 46. How DevelopIntelligence Can Help? FAST: We can provide customized on-site training within two weeks to help with tight deadlines. CUSTOMIZED: Complete customization of the training you need at no additional costs to your organization. AFFORDABLE: We have the most flexible pricing module in the industry and can work with any budget. CONTACT US: 877-629-5631 dave@developintelligence.com kelby@developintelligence.com DevelopIntelligence http://www.DevelopIntelligence.com 46
  • 47. Win a Free Safari Account Question: “What date did the FCS of JDK 1.0 occur” Post your answer to: LinkedIn: http://www.linkedin.com/company/developintelligence Twitter: http://twitter.com/DevIntelligence All correct answers will be entered into a raffle – winners will be announced Monday June 17 Copyright DevelopIntelligence LLC

Notas do Editor

  1. What’s New In Java 5, 6 &amp; 7Delivered by DevelopIntelligence
  2. About DevelopIntelligenceProvide highly-customized, role-based, project-centric learning solutions to software teamsSpecialize in areas of Java, Open Source, Web Development, and MobileDelivered training to over 40,000 engineers worldwideHeadquartered in Boulder CO