SlideShare a Scribd company logo
Java 7 and 8, what does it mean for you?
What does Java 7 (and 8) mean to you?IT professional(non java) DeveloperJava DeveloperOracle
IT professional
http://commons.wikimedia.org/wiki/File:Alexander_cuts_the_Gordian_Knot.jpg
Java 7 and 8, what does it mean for you
Developer
JSR 292Invokedynamic
Java Developer
Project Coin – JSR 334http://www.flickr.com/photos/chefranden/908539119/
Coin (1) Strings in switchString s = ... switch(s) { case "foo": processFoo(s); 	break; }
Coin (2) Changes to literals1234_5678 1_2_3_4__5_6_7_8L 0b0001_0010_0100_1000 3.141_592_653_589_793d 0x1.ffff_ffff_ffff_fP1_023 // Double.MAX_VALUE
Coin (3) Multi Catch, precise rethrowtry { 	doWork(file); } catch (IOException ex) { 	logger.log(ex); } catch (SQLException ex) { 	logger.log(ex); }try { 	doWork(file); } catch (IOException|SQLException ex) { logger.log(ex); }
Coin (4) Diamond operatorMap<String,List<String>> m = new HashMap<String,List<String>>();Map<String,List<String>> m = new HashMap<>();
Coin (5) Try with resourcestry (AutoclosableResource) {// Do stuff}// closed here
Concurrency and Collections Updates - JSR 166yLightweight Fork/Join Framework10,000000Transistors (1,000s)1,000,000100,00010,0001,000Clock (MHz)100101197019751980198519901995200020052010
Network and File System – JSR 203NIO.2 NIO.2NIO.2 Filesystem Provider for ZIP and JAR ArchivesSCTP (Stream Control Transmission Protocol)SDP (Sockets Direct Protocol)Redirection for SubprocessVista IPv6 stack(new) Enhanced JMX agent and MBeans
SecurityNative ECC (Elliptic Curve Cryptography)TLS (Transport Layer Security)1.2Stronger pseudorandom functions, additional (stronger) hash/signature algorithms, enhanced key exchangeASLR (Address space layout randomization)DEP (Data Execution Prevention) – Windows Only
InternationalizationUnicode 6.0IETF BCP47 and UTR35One language many character codes (Kanji, Hiragana, Katakana, Romaji)Three-letter base language codes; three-digit region codesSeparate user locale and user interface localeCurrency data enhancementshttp://en.wikipedia.org/wiki/File:Astrological_Glyphs.svg
Other EnhancementsClient & GraphicsAdded Nimbus L&F to the standardMuch better –modern- look than what was previously availablePlatform APIs for Java 6u10 Graphics FeaturesShaped and translucent windowsJXLayer core included in the standardFormerly SwingLabs componentAllows easier layering inside of a componentOptimized Java2D Rendering Pipeline for X-WindowsAllows hardware accelerated remote X
Other EnhancementsBetter font configuration on UnixNow uses standard Unix mechanism to find fonts.JAXP 1.4.4, JAXWS 2.2 and JAXB 2.2JDBC 4.1, Rowset 1.1Upgrade class-loader architectureModifications to the ClassLoader API and implementation to avoid deadlocks in non-hierarchical class-loader topologiesClose URLClassloadersAllows applications to proactively clean up classloaders, freeing up native resources and unlocking JAR filesJavadoc support for stylesheets
JDK 7 Platform SupportWindows x86Server 2008, Server 2008 R2, 7 & 8 (when it GAs)Windows Vista, XPLinux x86Oracle Linux 5.5+, 6.xRed Hat Enterprise Linux 5.5+, 6.xSuSE Linux Enterprise Server 10.x, 11.xUbuntu Linux 10.04 LTS, 11.04Solaris x86/SPARCSolaris 10.9+, 11.xApple OSX x86will be supported post-GA, detailed plan TBDNote: JDK 7 should run on pretty much any Windows/Linux/Solaris. These configurations are the ones primarily tested by Oracle, and for which we provide commercial support.
JDK 7 Project PlanFrom 1/21 OpenJDK Schedule2010/12/16 Feature Complete2011/04/12 Rampdown start: P1-P3 bugs only2011/04/28 API/interface changes: Showstoppers only 2011/05/11 All targeted bugs addressed                   First release candidate built 2011/05/18 Bug fixes: Showstoppers only 2011/06/08 Final test cycle starts2011/07/28 General Availability
Features from “Plan B”Other Things On Oracle’s Wish List*Modularization
Language and VM Support
Platform Modularization
Project Lambda
Lambda Expressions

More Related Content

PDF
Illia shestakov - The Future of Java JDK #9
PDF
The Java EE 6 platform
PDF
Java 9 preview
PDF
OpenJDK-Zulu talk at JEEConf'14
PDF
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
PDF
Dropwizard
PDF
Java 9 and Project Jigsaw
PPTX
Java se7 features
Illia shestakov - The Future of Java JDK #9
The Java EE 6 platform
Java 9 preview
OpenJDK-Zulu talk at JEEConf'14
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Dropwizard
Java 9 and Project Jigsaw
Java se7 features

What's hot (20)

PPTX
Java Microservices with DropWizard
PDF
PPTX
Java EE 7 for Real Enterprise Systems
PDF
Java 7 workshop
PPT
Java 9 Module System
PDF
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
PDF
Dropwizard
PDF
XNAT Case Study: DIAN QC Uploader
PDF
jcmd #javacasual
PDF
Hinkmond's JavaFX Mobile Dojo
ODP
OTN Developer Days - Java EE 6
PPTX
Java On Speed
PDF
What's new in Java EE 6
PPTX
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK.v1.0.20191009
PDF
How to cuddle your EJBs, Carlo de Wolf
PPTX
Security Architecture of the Java platform
PDF
Java EE 6 & GlassFish 3
PPTX
Visage Android - Cleaner APIs, Cleaner UIs
PDF
S313557 java ee_programming_model_explained_dochez
Java Microservices with DropWizard
Java EE 7 for Real Enterprise Systems
Java 7 workshop
Java 9 Module System
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Dropwizard
XNAT Case Study: DIAN QC Uploader
jcmd #javacasual
Hinkmond's JavaFX Mobile Dojo
OTN Developer Days - Java EE 6
Java On Speed
What's new in Java EE 6
Comparison between Oracle JDK, Oracle OpenJDK, and Red Hat OpenJDK.v1.0.20191009
How to cuddle your EJBs, Carlo de Wolf
Security Architecture of the Java platform
Java EE 6 & GlassFish 3
Visage Android - Cleaner APIs, Cleaner UIs
S313557 java ee_programming_model_explained_dochez
Ad

Similar to Java 7 and 8, what does it mean for you (20)

PDF
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
PDF
The State of Java under Oracle at JCertif 2011
PDF
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
PDF
Java: Create The Future Keynote
KEY
Introduction to Java 7 (OSCON 2012)
PPTX
JavaOne 2011 Recap
ODP
The Evolution of Java
PPTX
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
PDF
Whats new in Java 9,10,11,12
PDF
JDK versions and OpenJDK
PDF
What's new in Java 8
PDF
Java 8
PPTX
Java Licensing Roadmap for Oracle License Management
PPT
Java Community News - September 2015
PDF
Introducing Java 7
PDF
JDD2015: Taste of new in Java 9 - Arkadiusz Sokołowski
PPTX
Java Is Still Free
PDF
Virtual dev-day-java7-keynote-1641807
PDF
It's a jdk jungle out there - JDK 11 and OpenJDK 11
PDF
What's New in IBM Java 8 SE?
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
The State of Java under Oracle at JCertif 2011
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java: Create The Future Keynote
Introduction to Java 7 (OSCON 2012)
JavaOne 2011 Recap
The Evolution of Java
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
Whats new in Java 9,10,11,12
JDK versions and OpenJDK
What's new in Java 8
Java 8
Java Licensing Roadmap for Oracle License Management
Java Community News - September 2015
Introducing Java 7
JDD2015: Taste of new in Java 9 - Arkadiusz Sokołowski
Java Is Still Free
Virtual dev-day-java7-keynote-1641807
It's a jdk jungle out there - JDK 11 and OpenJDK 11
What's New in IBM Java 8 SE?
Ad

More from Dmitry Buzdin (20)

PDF
How Payment Cards Really Work?
PDF
Как построить свой фреймворк для автотестов?
PDF
How to grow your own Microservice?
PDF
How to Build Your Own Test Automation Framework?
PDF
Delivery Pipeline for Windows Machines
PPTX
Big Data Processing Using Hadoop Infrastructure
PDF
JOOQ and Flyway
PDF
Developing Useful APIs
PPTX
Whats New in Java 8
PPTX
Архитектура Ленты на Одноклассниках
PDF
Dart Workshop
PDF
Riding Redis @ask.fm
PDF
Rubylight JUG Contest Results Part II
PDF
Rubylight Pattern-Matching Solutions
PDF
Refactoring to Macros with Clojure
PPTX
Poor Man's Functional Programming
PDF
Rubylight programming contest
PPTX
Continuous Delivery
PPTX
Introduction to DevOps
PDF
Thread Dump Analysis
How Payment Cards Really Work?
Как построить свой фреймворк для автотестов?
How to grow your own Microservice?
How to Build Your Own Test Automation Framework?
Delivery Pipeline for Windows Machines
Big Data Processing Using Hadoop Infrastructure
JOOQ and Flyway
Developing Useful APIs
Whats New in Java 8
Архитектура Ленты на Одноклассниках
Dart Workshop
Riding Redis @ask.fm
Rubylight JUG Contest Results Part II
Rubylight Pattern-Matching Solutions
Refactoring to Macros with Clojure
Poor Man's Functional Programming
Rubylight programming contest
Continuous Delivery
Introduction to DevOps
Thread Dump Analysis

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Cloud computing and distributed systems.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Chapter 3 Spatial Domain Image Processing.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Monthly Chronicles - July 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
Encapsulation_ Review paper, used for researhc scholars
Cloud computing and distributed systems.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf

Java 7 and 8, what does it mean for you

Editor's Notes

  • #3: In todays presentation, you will learn what Java 7, and to some extent Java 8 will mean do you.What ”You” means can differ a bit, so I have grouped different ”You”s in 3 groups – IT professionals, Non java developers and Java developers. Not surprising, the Java Developer part will get the most slides. Finally, I will speak a little about the Oracle specific parts of the Java SE world.
  • #5: The biggest news about Java 7 is that it’s shipping. For those of you that aren&apos;t up to speed with your classical paintings, what you see here is Alexander the great cutting the Gordian Knot.Java SE 6 came out in december 2006, more than 4 years ago. In internet time this is for ever. Twitter started 5 years ago, the first iPhone came 4 years ago. Between 2006 and 2010, no new Java versions were released, in contrast we saw 2 new versions of the .NET framework. Development platforms tend to move slower with increasing success - C hasn&apos;t been updated in more then a decade. It&apos;s still doing awfully well for that.That being said, and also adding that the rumors of Javascoboldisation were vastly exaggerated, the state of affairs were worrying people. At the core of this delay was a conflict between Sun and Apache regarding licensing terms. The war was about licensing terms, but the battle was fought over Java releases. What I just said is indented to be a truthful, but very simplified version of what happened. There are a lot more details to this, and it’s a source of much controversy. This was the state of affairs when Oracle came in and cut the metaphorical knot.Again, this is a topic of much controversy, but Oracle managed to rally enough support to break the blockade. Java 7 is happening. But it upset some people enough so that they left the Executive committee. Doug Lea, Tim Peierls and Apache all left due to this.
  • #6: So for the JCP, Java 7 broke the staus quo. It also heralded the start of a JCP re-invigoration process. Patrick Curran, Oracles JCP ”chief”, is working on some changes to make the JCP more transparent and easier to join and participate in. The current ”contract” that one has to sign to actively participate in the JCP is quite intimidating, and it has to be since it covers all the rules and terms from a regular interested developer up to a specification lead. Patrick hopes to get a small and non-scary ”contract” for a regular developer, and only add more pages and terms as they take on a greater responsibility. He also plans to change the rules to that full transparency becomes mandatory, not just reccomended as it is today.A lot of people were worried that Oracle would cancel, or stop investing in OpenJDK. In fact the oposite happened. Oracle will keep investing in the OpenJDK, and move the vast majoroty of all new code written by Oracle engineers into OpenJDK. Perhaps even bigger news is that first IBM and later Apple joined the OpenJDK project.
  • #8: Strangely enough, ”JSR 292” is the name that most people know this by, second people will use ”invokedynamic” and at third place, the most human readable name ”The Davinci machine”The name ”Davinci machine” is one of two puns in this release. The second on is ”Coin”, but more on that later. JSR 292 is ” a multi-language renaissancefor the Java™ Virtual Machine architecture”, with Da Vinci beeing the archetypical renaissance man... Pun or not, I love helicopter dukeInvokedynamic is the first new java bytecode since java 1.0. Technially, I guess you could call the new methods using the java.lang.invoke package, but in reality I would bet none of you will. With no details what so ever – Invokedynamic is created to drastically reduce the overhead for dynamic languages running on the JVM. The jury is still out on exactly how much this will improve things for different languages, but rumor has it that Jruby are seeing really good results.
  • #10: I said that ”Coin ” was the second pun in Java 7. The project was intented to cover ”small language changes”. ”Small language changes” became ”Small changes” became ”Small change” became ”Coin”. We’re better coders than we are comedians.Coin was split between Java 7 and Java 8.
  • #24: So that was a lot of details on Java 7, what about 8?It’s not set in stone yet, but the big guns are modularization, also known as project jigsaw, and project lambda.
  • #27: One of our internally big deals is the JVM convergence project. We havent decided on what the convereged JVM will be called yet, but there are guerilla campaigns ongoing...We will ”converge” by moving and re-implementing the missing goodies from JRockit into the Hotspot codebase. Most of those changes will go into the OpenJDK, but some will remain premium features. E.g, JRockit Mission Control. Once all of the features are moved, we will prounce the convergence complete. Well, in all honesty, we will probably make a bigger deal than that from it, but it sounds less dramatic when you know how its done.Hopefully, the convergence will be completed by JDK 8 GA, but I’m making no promises today.