Java is one of the most popular programming languages. As Oracle proudly says, Java runs over 3 billion devices. Last year Oracle and Java Community decided to introduce a new six month cycle for the release of new versions. Java 10 is the first release of the cycle. It arrived just six months after the release of Java 9. This may make you think that it may not contain much new features but it has more than 100 .
Java 10 was released on March 20. “We are extremely happy to deliver Java 10 on time as announced last year,” Donald Smith, senior director of product management at Oracle, told eWEEK. “We were able to include some new innovations that would have normally taken years, such as local-variable type inference and some experimental features such as Graal.”
Java SE 10 was created in close collaboration with the OpenJDK Community, a diverse set of contributors whom have collaborated for more than ten years on an open-source implementation of the Java SE platform. Earlier Oracle decided to name the release based on month and year but those plans were eventually dropped.
Java 10 Features:
This new release includes lots of changes. The ” jshell “, where you can run programs without compiling, is still intact. This was a good move from the developers. The main features introduced are-
- Local-variable type inference: var as a reserve type name is introduced to reduce verbosity. It can be used to declare variables, methods, and package names, but we cannot use for class or interface name. The advantage is that we no need to explicitly declare the variable type, so it reduces boilerplate code and increases readability.
- Parallel Full GC for G1: Iimproves G1 worst-case latencies by making the full GC parallel.
- Application Class-Data Sharing: optimizes startup time and footprint by extending the existing Class-Data Sharing (“CDS”) feature to allow application classes to be placed in the shared archive.
- Byte Code Generation for Enhanced For Loops: The iterator variables are declared outside for loops and initialized to the null value immediately once the operation is over, so GC can get rid of unused memory.
- Experimental Java-Based JIT Compiler: Enables the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform.
There are a total of 109 features and this post would be never ending if I discuss in detail.
There are 12 JEPs (Java Embedded Python) introduced and a total of 73 new APIs have been added. A few changes have been made to the Java Virtual Machine Specification and Java Language Specification. To read about these changes in detail, click here.
Java 10 Download:
You can head to the official Oracle website to download the latest release. Its also available for Linux, MacOS and Solaris SPARC. You can also download some extra tools there.
Tell us whether you like the new changes in Java 10 or not. Will you be upgrading ?