Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

55 New Features in Java SE 8

36,972 views

Published on

Presentation delivered to the virtual JUG on 55 New Features in Java SE 8

Published in: Technology, Education
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I went from getting $3 surveys to $500 surveys every day!! learn more... ●●● https://tinyurl.com/realmoneystreams2019
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Earn $500 for taking a 1 hour paid survey! read more... ♣♣♣ http://ishbv.com/surveys6/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

55 New Features in Java SE 8

  1. 1. 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  2. 2. 55 New Features in Java SE 8 (Part 2 of Plan B) Simon Ritter Head of Java Evangelism Oracle Corporation Twitter: @speakjava 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  3. 3. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  4. 4. Big Disclaimer The Java SE 8 Specification is not final Some features may be subject to change 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  5. 5. Java SE 8 (JSR 337) Component JSRs  New functionality – JSR 308: Annotations on types – JSR 310: Date and Time API – JSR 335: Lambda expressions  Updated functionality – JSR 114: JDBC Rowsets – JSR 160: JMX Remote API – JSR 199: Java Compiler API – JSR 173: Streaming API for XML – JSR 206: Java API for XML Processing – JSR 221: JDBC 4.0 – JSR 269: Pluggable Annotation-Processing API 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  6. 6. JDK Enhancement Proposals (JEPs)  Regularly updated list of proposals – Serve as the long-term roadmap for JDK release projects – Roadmap extends for at least three years  Uniform format and a central archive for enhancement proposals – Interested parties can find, read, comment, and contribute  Process is open to every OpenJDK Committer  Enhancement is a non-trivial change to the JDK code base – Two or more weeks of engineering effort – significant change to JDK or development processes and infrastructure – High demand from developers or customers 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  7. 7. Language 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  8. 8. Lambda Expressions Closures and Functional Programming  Lambda expressions provide anonymous function types to Java – Replace use of anonymous inner classes – Provide more functional style of programming in Java doSomething(new DoStuff() { public boolean isGood(int value) { return value == 42; } }); Simplified to doSomething(answer -> answer == 42); 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  9. 9. Extension Methods Bringing Multiple Inheritance (of Functionality) to Java  Provide a mechanism to add new methods to existing interfaces – Without breaking backwards compatability – Gives Java multiple inheritance of behaviour, as well as types (but not state!) public interface Set<T> extends Collection<T> { public int size(); ... // The rest of the existing Set methods public T reduce(Reducer<T> r) default Collections.<T>setReducer; } 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  10. 10. Annotations On Java Types  Annotations can currently only be used on type declarations – Classes, methods, variable definitions  Extension for places where types are used – e.g. parameters  Permits error detection by pluggable type checkers – e.g. null pointer errors, race conditions, etc public void process(@notnull List data) {…} 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  11. 11. Generalised Target-Type Inference Improved usability of generics class List<E> static <Z> static <Z> E head() { } { List<Z> nil() { ... }; List<Z> cons(Z head, List<Z> tail) { ... }; ... } List<String> ls = List.nil(); // Inferred correctly error: expected List<Integer>, found List<Object> List.cons(42, List.nil()); 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  12. 12. Access To Parameter Names At Runtime  Mechanism to retrieve parameter names of methods and constructors – At runtime via core reflection  Improved code readability – Eliminate redundant annotations  Improve IDE capabilities – Auto-generate template code  Method and Constructor now inherit from new Executable class – getParameters() returns array of Parameter objects – Name, type, annotations for each parameter 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  13. 13. Small Things  Repeating annotations Multiple annotations with the same type applied to a single program element  No more apt tool and associated API – Complete the transition to the JSR 269 implementation  DocTree API – Provide access to the syntactic elements of a javadoc comment  DocLint tool – Use DocTree API to identify basic errors in javadoc comments  Javadoc support in javax.tools – Invoke javadoc tools from API as well as command line/exec 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  14. 14. Core Libraries 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  15. 15. Enhance Core Libraries With Lambdas  No small task! – Java SE 7 has 4024 standard classes  Modernise general library APIs  Improve performance – Gains from use of invokedynamic to implement Lambdas  Demonstrate best practices for extension methods 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  16. 16. Concurrency Updates  Scalable update variables – DoubleAccumulator, DoubleAdder, etc – Multiple variables avoid update contention – Good for frequent updates, infrequent reads  ConcurrentHashMap updates – Improved scanning support, key computation  ForkJoinPool improvements – Completion based design for IO bound applications – Thread that is blocked hands work to thread that is running 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  17. 17. Bulk Data Operations For Collections Filter, Map, Reduce for Java  java.util.function package – Function, Predicate, Consumer, Supplier interfaces  java.util.stream package – Stream, Collector interfaces  Serial and parallel implementations – Generally expressed with Lambda statements  Parallel implementation builds on Fork-Join framework  Lazy evaluation – Things like getFirst() terminate stream 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  18. 18. Parallel Array Sorting  Additional utility methods in java.util.Arrays – parallelSort (multiple signatures for different primitives)  Anticipated minimum improvement of 30% over sequential sort – For dual core system with appropriate sized data set  Built on top of the fork-join framework – Uses Doug Lea’s ParallelArray implementation – Requires working space the same size as the array being sorted 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  19. 19. Date And Time APIs  A new date, time, and calendar API for the Java SE platform  Supports standard time concepts – Partial, duration, period, intervals – date, time, instant, and time-zone  Provides a limited set of calendar systems and be extensible to others  Uses relevant standards, including ISO-8601, CLDR, and BCP47  Based on an explicit time-scale with a connection to UTC 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  20. 20. JDBC 4.2 Minor enhancements for usability and portability  Add setter/update methods – ResultSet, PreparedStatement, and CallableStatement – Support new data types such as those being defined in JSR 310  REF_CURSOR support for CallableStatement  DatabaseMetaData.getIndexInfo extended – new columns for CARDINALITY and PAGES which return a long value  New DatabaseMetaData method – getMaxLogicalLobSize – Return the logical maximum size for a LOB 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  21. 21. Base64 Encoding and Decoding  Currently developers are forced to use non-public APIs – sun.misc.BASE64Encoder – sun.misc.BASE64Decoder  Java SE 8 now has a standard way – java.util.Base64.Encoder – java.util.Base64.Decoder – encode, encodeToString, decode, wrap methods 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  22. 22. Small Things  javax.lang.model implementation backed by core reflection – Uniform annotation API to view compile-time and runtime reflective information  Charset implementation improvements – Reduced size of charsets, improved performance of encoding/decoding  Reduced core-library memory usage – Reduced object size, disable reflection compiler, internal table sizes, etc 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  23. 23. Small Things  Optimize java.text.DecimalFormat.format – Improve performance, multiply by 100.0 or 1000.0 (2 or 3 DP only)  Statically Linked JNI Libraries – Needed for embedded applications – Currently only dynamically linked supported  Handle frequent HashMap collisions with balanced trees – Hash bucket switches from linked list to balanced tree at certain threshold 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  24. 24. Internationalisation (I18N) 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  25. 25. Locale Data Packing  Tool to generate locale data files – From LDML format  Unicode Common Locale Data Repository (CLDR) support  Locale elements supported from underlying platform 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  26. 26. BCP 47 Locale Mapping  Language tags to indicate the language used for an information object – RFC-5646 (Language range) – RFC-5456 (Language priority, preference)  Language range Collection<String>  Language priority List <String>  Three operations added to Locale class – filterBasic – filterExtended – lookup 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  27. 27. Unicode 6.2  Java SE 7 support Unicode 6.0  Changes in Unicode 6.1 (February, 2012) – Add 11 new blocks to java.lang.Character.UnicodeBlock – Add 7 new scripts to java.lang.Character.UnicodeScript – Support over 700 new characters in java.lang.Character, String, and other classes  Changes in Unicode 6.2 (September, 2012) – Support a new Turkish currency sign (U+20BA) 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  28. 28. Security 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  29. 29. Configurable Secure Random Number Generator  Better implementation of SecureRandom  Currently applications can hang on Linux – JVM uses /dev/random – This will block if the system entropy pool is not large enough 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  30. 30. Enhanced Certificate Revocation-Checking API  Current java.security.cert API is all-or-nothing – Failure to contact server is a fatal error  New interfaces – CertPathChecker – CertPathParameters  New command line debug option – -Djava.security.debug=certpath 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  31. 31. HTTP URL Permissions  New type of network permission – Grant access in terms of URLs, rather than IP addresses  Current way to specify network permissions – java.net.SocketPermission – Not restricted to just HTTP – Operates in terms of IP addresses only  New, higher level capabilities – Support HTTP operations (POST, GET, etc) – Build on limited doPrivileged feature 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  32. 32. Small Items  Limited doPrivileged – Execute Lambda expression with privileges enabled  NSA Suite B cryptographic algorithms – Conform to standards to meet U.S. government, banking requirements  AEAD CipherSuite support – Conform to standards to meet U.S. government, banking requirements  SHA-224 message digests – Required due to known flaw in SHA-1  Leverage CPU instructions for AES cryptography – Improve encryption/decryption performance 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  33. 33. Small Changes  Microsoft Services For UNIX (MS-SFU) Kerberos 5 extensions – Enhanced Microsoft interoperability  TLS Server Name Indication (SNI) extension – More flexible secure virtual hosting, virtual-machine infrastructure  PKCS#11 crypto provider for 64-bit Windows – Allow use of widely available native libraries  Stronger algorithms for password-based encryption – Researchers and hackers move on  Overhaul JKS-JCEKS-PKCS12 keystores – Simplify interacting with Java SE keystores for cryptographic applications 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  34. 34. The Platform 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  35. 35. Launch JavaFX Applications  Support the direct launching of JavaFX applications  Enhancement to the java command line launcher 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  36. 36. Compact Profiles Approximate static footprint goals Compact1 Profile Compact2 Profile 10Mb 17Mb Compact3 Profile Full JRE 36 24Mb 140Mb Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  37. 37. Modularisation Preparation Getting Ready For Jigsaw  Fix some assumptions about classloaders  Use ServiceLoader rather than proprietary SPI code  JDK tool to analyse application code dependencies  Deprecate APIs that will impede modularisation – e.g. java.util.logging.LogManager.addPropertyChangeListener  Review and possibly change $JAVA_HOME normative references – Relative v. absolute pathnames 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  38. 38. Stripped Implementations  Applications that ship bundled with a JRE don’t need to include all the class libraries  This does not break ‘Write once, run anywhere’  Only applicable for bundled JRE – JRE cannot be used by other applications 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  39. 39. Virtual Machine 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  40. 40. Lambda-Form Representation For Method Handles Assembly language code re-written in Java  Improve performance, quality, and portability of method handles and invokedynamic  Reduce the amount of assembly code in the JVM  Reduce native calls during method handle processing  Better reference implementation of JSR 292 (invokedynamic) 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  41. 41. Nashorn JavaScript Engine  Lightweight, high-performance JavaScript engine – Integrated into JRE  Use existing javax.script API  ECMAScript-262 Edition 5.1 language specification compliance  New command-line tool, jjs to run JavaScript  Internationalised error messages and documentation 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  42. 42. Retire Rarely-Used GC Combinations  Rarely used – DefNew + CMS – ParNew + SerialOld – Incremental CMS  Large testing effort for little return  Will generate deprecated option messages – Won’t disappear just yet 42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  43. 43. Remove The Permanent Generation Permanently  No more need to tune the size of it  Current objects moved to Java heap or native memory – Interned strings – Class metadata – Class static variables  Part of the HotSpot, JRockit convergence 43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  44. 44. Fence Intrinsics  Three new methods in sun.misc.Unsafe class – loadFence – storeFence – ringFence  Required by library code – Ensure memory access operations do not get reordered  Not intended to be used by application developers – May be exposed as public API in JDK9 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  45. 45. Mechanical Checking of Caller-Sensitive Methods  Improve security of JDK method-handle implementation  New @CallerSensitive annotation  SecurityManager.checkMemberAccess deprecated – In future may throw an unconditional exception  java.util.logging.Logger revised – Remove stack walk in search of resource bundle – Related to modularisation preparation 45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  46. 46. Small Things  Enhanced verification errors – Additional contextual information on bytecode verification errors  Reduce cache contention on specified fields – Pad variables to avoid sharing cache lines  Reduce class metadata footprint – Use techniques from CVM of Java ME CDC  Small VM – libjvm.so <3MB by compiling for size over speed 46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  47. 47. The JDK Increased Build Speed, Simplified Setup  Autoconf based build system – ./configure style build setup  Enhance javac to improve build speed – Run on all available cores – Track package and class dependences between builds – Automatically generate header files for native methods – Clean up class and header files that are no longer needed 47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  48. 48. Conclusions  Java SE 8 will add plenty of new features (and remove a few) – Language – Libraries – JVM  Java continues to evolve! – jdk8.java.net – www.jcp.org – openjdk.java.net/jeps 48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  49. 49. 49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

×