Suche senden
Hochladen
Whats new in Java 7
•
1 gefällt mir
•
1,171 views
A
Ayushman Jain
Folgen
This ppt lists the various new features in java SE7, going to be released this summer.
Weniger lesen
Mehr lesen
Technologie
Bildung
Melden
Teilen
Melden
Teilen
1 von 19
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Java features
Java features
Prashant Gajendra
Objective-c for Java Developers
Objective-c for Java Developers
Muhammad Abdullah
Java & advanced java
Java & advanced java
BASAVARAJ HUNSHAL
JNA - Let's C what it's worth
JNA - Let's C what it's worth
Idan Sheinberg
Functional programming in scala
Functional programming in scala
Stratio
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
Jonathan Engelsma
Java Tokens
Java Tokens
Madishetty Prathibha
Programming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
Empfohlen
Java features
Java features
Prashant Gajendra
Objective-c for Java Developers
Objective-c for Java Developers
Muhammad Abdullah
Java & advanced java
Java & advanced java
BASAVARAJ HUNSHAL
JNA - Let's C what it's worth
JNA - Let's C what it's worth
Idan Sheinberg
Functional programming in scala
Functional programming in scala
Stratio
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
Jonathan Engelsma
Java Tokens
Java Tokens
Madishetty Prathibha
Programming Paradigm & Languages
Programming Paradigm & Languages
Gaditek
Functional Programming In Jdk8
Functional Programming In Jdk8
Bansilal Haudakari
Functional programming with Java 8
Functional programming with Java 8
LivePerson
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
Jonathan Engelsma
New c sharp4_features_part_v
New c sharp4_features_part_v
Nico Ludwig
Python's dynamic nature (rough slides, November 2004)
Python's dynamic nature (rough slides, November 2004)
Kiran Jonnalagadda
Posedge vhdl training_4
Posedge vhdl training_4
posdege
Learning typescript
Learning typescript
Alexandre Marreiros
Enriching EMF Models with Scala (quick overview)
Enriching EMF Models with Scala (quick overview)
Filip Krikava
New c sharp4_features_part_iv
New c sharp4_features_part_iv
Nico Ludwig
C-Sharp 6.0 ver2
C-Sharp 6.0 ver2
Tome Tomovski
Core Java Tutorial
Core Java Tutorial
Java2Blog
php app development 1
php app development 1
barryavery
Introduction to Clojure
Introduction to Clojure
Renzo Borgatti
Grooming with Groovy
Grooming with Groovy
Dhaval Dalal
Core java
Core java
Shivaraj R
C++ to java
C++ to java
Ajmal Ak
Moose Meta-Modeling Infrastructure
Moose Meta-Modeling Infrastructure
ESUG
Basic Java Programming
Basic Java Programming
Math-Circle
Workin ontherailsroad
Workin ontherailsroad
Jim Jones
WorkinOnTheRailsRoad
WorkinOnTheRailsRoad
webuploader
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Novell
Learn To Code: Introduction to java
Learn To Code: Introduction to java
SadhanaParameswaran
Weitere ähnliche Inhalte
Was ist angesagt?
Functional Programming In Jdk8
Functional Programming In Jdk8
Bansilal Haudakari
Functional programming with Java 8
Functional programming with Java 8
LivePerson
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
Jonathan Engelsma
New c sharp4_features_part_v
New c sharp4_features_part_v
Nico Ludwig
Python's dynamic nature (rough slides, November 2004)
Python's dynamic nature (rough slides, November 2004)
Kiran Jonnalagadda
Posedge vhdl training_4
Posedge vhdl training_4
posdege
Learning typescript
Learning typescript
Alexandre Marreiros
Enriching EMF Models with Scala (quick overview)
Enriching EMF Models with Scala (quick overview)
Filip Krikava
New c sharp4_features_part_iv
New c sharp4_features_part_iv
Nico Ludwig
C-Sharp 6.0 ver2
C-Sharp 6.0 ver2
Tome Tomovski
Core Java Tutorial
Core Java Tutorial
Java2Blog
php app development 1
php app development 1
barryavery
Introduction to Clojure
Introduction to Clojure
Renzo Borgatti
Grooming with Groovy
Grooming with Groovy
Dhaval Dalal
Core java
Core java
Shivaraj R
C++ to java
C++ to java
Ajmal Ak
Moose Meta-Modeling Infrastructure
Moose Meta-Modeling Infrastructure
ESUG
Basic Java Programming
Basic Java Programming
Math-Circle
Workin ontherailsroad
Workin ontherailsroad
Jim Jones
WorkinOnTheRailsRoad
WorkinOnTheRailsRoad
webuploader
Was ist angesagt?
(20)
Functional Programming In Jdk8
Functional Programming In Jdk8
Functional programming with Java 8
Functional programming with Java 8
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
New c sharp4_features_part_v
New c sharp4_features_part_v
Python's dynamic nature (rough slides, November 2004)
Python's dynamic nature (rough slides, November 2004)
Posedge vhdl training_4
Posedge vhdl training_4
Learning typescript
Learning typescript
Enriching EMF Models with Scala (quick overview)
Enriching EMF Models with Scala (quick overview)
New c sharp4_features_part_iv
New c sharp4_features_part_iv
C-Sharp 6.0 ver2
C-Sharp 6.0 ver2
Core Java Tutorial
Core Java Tutorial
php app development 1
php app development 1
Introduction to Clojure
Introduction to Clojure
Grooming with Groovy
Grooming with Groovy
Core java
Core java
C++ to java
C++ to java
Moose Meta-Modeling Infrastructure
Moose Meta-Modeling Infrastructure
Basic Java Programming
Basic Java Programming
Workin ontherailsroad
Workin ontherailsroad
WorkinOnTheRailsRoad
WorkinOnTheRailsRoad
Ähnlich wie Whats new in Java 7
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Novell
Learn To Code: Introduction to java
Learn To Code: Introduction to java
SadhanaParameswaran
Java platform
Java platform
Visithan
Unit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rd
prat0ham
Graal VM: Multi-Language Execution Platform
Graal VM: Multi-Language Execution Platform
Thomas Wuerthinger
Class_01.pptx
Class_01.pptx
Passion4Oracle
java notes.pdf
java notes.pdf
JitendraYadav351971
Web sphere administration
Web sphere administration
venkatcgnm
Comp102 lec 3
Comp102 lec 3
Fraz Bakhsh
What is Java Technology (An introduction with comparision of .net coding)
What is Java Technology (An introduction with comparision of .net coding)
Shaharyar khan
01 Variables
01 Variables
Learn 2 Be
OOPC_Unit-I.pdf
OOPC_Unit-I.pdf
KRaviChythanyaCSE
Introduction to Erlang Programming Language
Introduction to Erlang Programming Language
Yasas Gunarathne
Java
Java
Zeeshan Khan
Java notes | All Basics |
Java notes | All Basics |
ShubhamAthawane
Java_Roadmap.pptx
Java_Roadmap.pptx
ssuser814cf2
Compilation v. interpretation
Compilation v. interpretation
Alexander Bollbach
New c sharp4_features_part_vi
New c sharp4_features_part_vi
Nico Ludwig
Core java
Core java
Mallikarjuna G D
Owner - Java properties reinvented.
Owner - Java properties reinvented.
Luigi Viggiano
Ähnlich wie Whats new in Java 7
(20)
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Working with XSLT, XPath and ECMA Scripts: Make It Simpler with Novell Identi...
Learn To Code: Introduction to java
Learn To Code: Introduction to java
Java platform
Java platform
Unit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rd
Graal VM: Multi-Language Execution Platform
Graal VM: Multi-Language Execution Platform
Class_01.pptx
Class_01.pptx
java notes.pdf
java notes.pdf
Web sphere administration
Web sphere administration
Comp102 lec 3
Comp102 lec 3
What is Java Technology (An introduction with comparision of .net coding)
What is Java Technology (An introduction with comparision of .net coding)
01 Variables
01 Variables
OOPC_Unit-I.pdf
OOPC_Unit-I.pdf
Introduction to Erlang Programming Language
Introduction to Erlang Programming Language
Java
Java
Java notes | All Basics |
Java notes | All Basics |
Java_Roadmap.pptx
Java_Roadmap.pptx
Compilation v. interpretation
Compilation v. interpretation
New c sharp4_features_part_vi
New c sharp4_features_part_vi
Core java
Core java
Owner - Java properties reinvented.
Owner - Java properties reinvented.
Kürzlich hochgeladen
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Softradix Technologies
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
2toLead Limited
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
carlostorres15106
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Memoori
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
OnBoard
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Kürzlich hochgeladen
(20)
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Whats new in Java 7
1.
SE 7 :
What's New! Ayushman Jain JDT/Core committer IBM © IBM 2011. Licensed under EPL v1.0
2.
New features at
a glance ● Project Coin – small enhancement and new language features. ● Support for dynamic languages. ● Unicode 6.0 – new rupee symbol, brahmi script, emoticons. ● New I/O and concurrent APIs. © IBM 2011. Licensed under EPL v1.0
3.
Project coin features ●
Binary literals and underscores in literals. • Strings in switch. • @SafeVarargs - Varargs warnings. • Diamond - improved type inference for generic instance creation. • Multi-catch and more precise rethrow. • try-with-resources (formerly known as Automatic Resource Management or ARM). © IBM 2011. Licensed under EPL v1.0
4.
Strings in switch ●
When do you use a switch statement? ● Valid case labels upto javaSE 6 can be – Int constants – Enum constants ● String can also be constants! © IBM 2011. Licensed under EPL v1.0
5.
Safe Varargs ●
Variable arity method - public static <T> List<T> java.util.Arrays.asList(T... a) ● If T is the parameter type with variable arity and is also non-reifiable, a new warning on declaration of variable arity methods with parameter of type T. ● A new annotation @SafeVarargs to suppress the warning at both declaration site and call site. © IBM 2011. Licensed under EPL v1.0
6.
Reifiable types ●
A type whose type information is fully available at runtime, that is, a type that does not lose information in the course of type erasure. ● Any type with type parameters is available to the JVM as the raw type because of type erasure. ● So List<Number> and List<String> are both seen as List by the JVM. ● Hence parameterized types are non-reifiable. ● On the other hand, types such as “String” are reifiable. © IBM 2011. Licensed under EPL v1.0
7.
Safe Varargs ●
A variable arity parameter of a generic type can cause heap pollution. ● public static <T> List<T> java.util.Arrays.asList(T... a) ● Heap pollution - A situation where a variable of a parameterized type refers to an object that is not of that parameterized type. ● Usually, the method body is well behaved and only iterates over the elements. ● Hence, unchecked warning is mostly a distraction. © IBM 2011. Licensed under EPL v1.0
8.
@SafeVarargs ●
Annotation legal on static or final variable arity methods or constructors. ● Not legal on – Fixed arity methods or constructors. – Variable arity methods or constructors that are neither final nor static. ● Some java APIs already retrofitted with the annotation in JDK 7. © IBM 2011. Licensed under EPL v1.0
9.
Binary Integer Literals
and Underscores in numeric literals ● Binary integer literals structured just like hex interger literals. Differences: – Binary digits used instead of hex digits – 0b now used instead of 0x ● In numeric literals, underscores now permitted as separators between digits. ● Applies to literals in any base: binary, octal, hexadecimal, or decimal ● Applies to both integer literals and floating point literals © IBM 2011. Licensed under EPL v1.0
10.
Multi-catch and more
precise rethrow ● Different catch blocks performing the same action on the caught exception. ● They can now be combined into one single catch block using Disjunctive types. ● Disjunctive type = ExceptionA | ExceptionB | .... ● Disjunctive types implicitly final. ● Also, now only the actually thrown exception is now rethrown and not its parent type. © IBM 2011. Licensed under EPL v1.0
11.
Try With Resources ●
Language & Library changes to – Ease management of objects that require explicit freeing/disposal/destruction. – Prevent resource leaks (handles, streams ...) – A la Destructors in C++ (and others) ● Library changes: – A new interface java.lang.AutoCloseable. – Libraries retrofitted to implement the new interface – Facilities to manage suppressed exceptions on java.lang.Throwable © IBM 2011. Licensed under EPL v1.0
12.
What is a
Resource ● Basically a final variable local to the try block. ● Must be of type AutoCloseable. ● Must be initialized in the resource section. ● Language guarantees that every successfully initialized non-null resource will be “closed”. ● Will be closed regardless of normal or abrupt completion. ● In LIFC order: Last initialized first closed. © IBM 2011. Licensed under EPL v1.0
13.
Suppressed exceptions ●
“Primary” exception will be the exception seen by a user supplied catch block. ● Exception from close methods are added to the suppressed list of primary exception (unless it is the primary exception.) ● An interested party can query and process suppressed exceptions. New APIs in class Throwable: – public final void addSuppressed(Throwable); – public final Throwable [] getSuppressed(); © IBM 2011. Licensed under EPL v1.0
14.
Diamond ●
Improved type inference for generic instance creation. ● Before, ● List<String> list = new ArrayList<String>(); ● Now, ● List<String> list = new ArrayList<>(); ● Why not List<String> list = new ArrayList() ? © IBM 2011. Licensed under EPL v1.0
15.
Support for dynamic
languages ● A growing interest in running programs written in dynamic languages on JVM. ● Particularly scripting languages-JRuby,Jpython,Groovy. ● Motivation – make implementation in such languages efficient and fast. ● Current Problem - JVM instruction to invoke a method takes method descriptor as the argument – Method descriptor is the method name, argument types and the return type. ● Solution – new invokeDynamic instruction and dynamic linking through method handles. © IBM 2011. Licensed under EPL v1.0
16.
JVM bytecode instructions ●
invokevirtual - Invokes a method on a class. This is the typical type of method invocation. ● invokeinterface - Invokes a method on an interface. ● invokestatic - Invokes a static method on a class. This is the only kind of invocation that lacks a receiver argument. ● invokespecial - Invokes a method without reference to the type of the receiver. ● invokedynamic - enables an implementer of a dynamic language to translate a method invocation into bytecode without having to specify a target type that contains the method. © IBM 2011. Licensed under EPL v1.0
17.
Method handles ●
Consider hypothetical dynamic language code function max (x,y) { if x.lessThan(y) then y else x } ● To compile this for JVM MyObject function max (MyObject x,MyObject y) { if x.lessThan(y) then y else x } ● Or use reflection. ● With Java7, use method handles! © IBM 2011. Licensed under EPL v1.0
18.
Use Eclipse for
java 7 ● No builds available as of today. ● Setup Eclipse to work for java 7 as described in http://wiki.eclipse.org/JDT_Core/Java7 © IBM 2011. Licensed under EPL v1.0
19.
Thank You!
© IBM 2011. Licensed under EPL v1.0
Jetzt herunterladen