Java 11

 New features in Java 11

  • Lazy allocation of compiler threads.
    • A new command line flag has been added to dynamically control compiler threads Which start.
    • Only one compile thread of each type During start-up is managed using this.
    • It also handles the start and shut down of further threads Dynamically.
  • Updated local data to Unicode CLDR V33
    • The local data based on the Unicode consortium which stands for common local data registry has been updated for JDK 11.
  • HTTP Client(Standard)
    • New HTTP client API, which made it easier for us to send Http request and HTTP response. This API supports both synchronous and asynchronous Model making code, flexible.
    • The HTTP client has been standardised in Java, 11 by removing the previously incubating API Located in the JDK.Incubator.http Package.
    • Now Any HTTP type imports are To be done from the standard package, name that is java.net.http.
  • Brain pool EC Support
    • The Sun EC Provider has been enhanced to Support for additional brain pool curves And the parameters can be now created by using ECBN parameter specification objects.
  • Epsilon,A No-Op garbage collector
    • This is a new experimental No operation garbage collector, it will handle memory allocation without implementing any actual memory Reclamation mechanisms.Epsilon Use cases include testing for performance, memory pressure, and virtual machine interface, it could also be used for short lived jobs.
  • Nest based access control
    • It introduces nests In which an access control context that aligns with the notation Of nested types In Java language.Nests Allow classes that are logically part of the same code Entity, but are compiled to distinct class files to access each others, private members without needing compilers to insert accessibility broadening bridge methods.
  • Key agreement with curve 25519 and curve 448.
    • This agreement in cryptography is more efficient and secure than existing elliptic curve Deffie-Hellman Scheme, The two elliptic curve that is curve to 5510 and curve 448 lend themselves to a constant time, implementation and end, exception, free scaler multiplication that is more resistant to a range of side channel attacks.
  • Transport layer security
    • It is TLS 1.3. It is an overhaul Of the TLS protocol that offers a significant security and performance benefits.
    • To Support, every feature of TLS 1 .3 to minimise risks of incompatibility. TLS 1.3 will implement backward compatibility mode by default.
    • Applications Can turn this mode on and off as needed
  • Collection.toArray(Int Function) Default method
    • It is a new default method that has been added To the collection interface.
    • This method allows The collections element To be transferred to a newly created array Of desired runtime type.
  • Local Variable syntax for lambda expressions/parameters thus making them more readable. 
    • We can use var keyword In lambda expressions
    • A local variable syntax for Lambda parameters should align the syntax of a formal parameter.
    • Declaration and an implicitly Typed expression with the syntax of a local variable declaration.
    • This could allow Variables to be used when declaring formal Parameters of implicitly typed, lambda expressions.
  • Flight recorder
    • It provides a low overhead data collection from work for troubleshooting, both Java applications and hotspot JVM.
    • Flight recorder has been a feature of Arrakins commercial JDK, but what have its source code moved To An, open repository To make the features generally available from now on.
  • Upgradation of platform API’s For Unicode Support
    • The platform API are now upgraded to Support Unicode version 10.0.
    • Support is expected in character and String classes In the language package.
    • Support is also Available in the numeric shape class in AWT.font package and Bidi break Iterator And normaliser classes In the text package.
  • Z garbage collector
    • This is an experimental addition to Java 11.
    • It is a low latency , garbage collector That can handle heaps Ranging from relatively small to a very large heap That are many terabytes in size.
  • String methods like isblank, strip leading etc.
Features removed from Java 11
  • Com.sun.awt.AWTUtilities class
    • This class was already Deprecated since Java eight and has been removed from Java 11
  • AppletViewerLauncher
    • The Applet viewer Tool was deprecated In JDK nine and thus removed in this version.
  • Sun.misc.unsafe.define class
    • This class has been removed, and the public replacement of this class has already been introduced in Java 9.
  • Thread.destroy() and Thread.safe()(Throwable)
    • These were deprecated From several Java security releases and have been removed.
  • Java FX from Oracle JDK
    • The Java FX modules have been removed from the Oracle JDK in Java, 11 and these modules were included in earlier releases of Oracle JDK, but not in the open JDK releases.
  • Java EE and CORBA modules
    • These were deprecated In Java, SE9 and have been removed.
  • Java Deployment technologies
    • Java plug-in and the Java web start Technologies that were deprecated in JDK9 and marked as candidates for removal in JDK 10 have been removed along with the Java control panel, which was used for configuring the deployment technologies.
  • JMC from Oracle JDK
    • Java mission control is no longer included in the JDK bundles. What is available as a separate download.
  • SNMP agent
    • JDK SNMP module has been completely removed from Java 11 onwards.
  • Sun. Local.formatAsDefault Property.
    • The system, property of sun. Local.formatAsDefault That was introduced in JDK seven for backwards compatibility now has been removed.
  • JVM-Management-MIB.INIB
    • The specification for JVM Monitoring and management through SNMP and JVM management MIB.mib has been removed.
    • We can use GMX to monitor and manage our running JVM.And to access a standard set of metrics And operations.
Features deprecated in Java, 11
  • Finalise method In thread pool Does nothing.
    • It has not visible effects until a sub class explicitly, invokesthe finalise method and relies on executor being shut down.
  • Nashhorn JavaScript engine
    • The nashhorn Java script engine API and GGS tool have been deprecated In this version, with the intent to remove them in a future release.
  • -XX-Aggressive Operations
    • The VM Option of aggressive operations have been deprecated in JDK 11.
    • The option was originally supposed to enable experimental optimisation of the EC2 compiler To improve performance of the specific benchmarks.
  • Commercial features
    • The Unlock commercial features and lock commercial features command line argument have been obsoleted.
  • Stream based GSS CONTEXT METHODS
    • The stream based methods in the GSS Context have been deprecated In this Release release since GSS API’s work on Opaque tokens and do not have a defined wire protocol.
  • Pack 200 tools and API
    • The pack 200 tools associated like back 200 and unpack. 200 have been Deprecated.
    • They will not be updated to support the latest class file format.
    • Class files with unknown attributes will be passed through without compression.
Open JDK 11 versus Oracle JDK 11
  • Open JDK offers Alpine Linux while Oracle JDK offers Solaris
  • Open JDK is offered only as a compressed archive(tar,zip). Oracle JDK has installers like MSI, RPM, DB, et cetera.
  • Open JDK offers on JDK, where as Oracle JDK offers JDK and JRE.
  • Usage logging is not available in open. JDK, usage logging is available in Oracle JDK.
  • Open JDK doesn’t support -XX:+ unlock commercial features flag. Oracle JDK No longer requires the flag. It is released under OTN license.
  • Open JDK allows the use of unsigned third-party crypto providers. Oracle JDK requires the third-party cryptographic providers, be signed with an Oracle provided certificate.
  • Open JDK does not include any additional Java SE specification such as serialisation,Jar. Oracle JDK Requires the third-party cryptographic providers, be signed with an Oracle provided certificate.

No comments:

Post a Comment