Oracle has finally announced the General Availability of the most anticipated open-source implementation of Java SE 8 (Java Standard Edition 8) which is the JDK 8 (Java Development Kit 8) last March 18, 2014. JDK 8 was supposed to be released last September 2013 but was delayed to work on its security issues and other bugs.
The following are some of the features and improvements of JDK 8 mentioned in an article published at Oracle’s website:
Java Programming Language: Introduction of a new language feature calledLambda Expressions which let you express instances of single-method interfaces more compactly.
Collections: Performance Improvement for HashMaps with Key Collisions.
Compact Profiles contain predefined subsets of the Java SE platform and enable applications that do not require the entire Platform to be deployed and run on a small devices.
Security enhancements such as: Client-side TLS 1.2 enabled by default; stronger algorithms for password-based encryption; SSL/TLS Server Name Indication (SNI) Extension support in JSSE Server; SHA-224 Message Digests; 64-bit PKCS11 for Windows; New rcache Types in Kerberos 5 Replay Caching; and more.
JavaFX: The new SwingNode class enables developers to embed Swing content into JavaFX.
New Tools: jjs command is provided to invoke the Nashorn engine;java command launches JavaFX applications; java man page has been reworked; jdeps command-line tool is provided for analysing class files; Java Management Extensions (JMX) provide remote access to diagnostic commands; jarsigner tool has an option for requesting a signed time stamp from a Time Stamping Authority (TSA); and improved Javac tool.
Internalization: Unicode Enhancements, including support for Unicode 6.2.0; Adoption of Unicode CLDR Data and the java.locale.providers System Property. New Calendar and Locale APIs; and Ability to Install a Custom Resource Bundle as an Extension.
Deployment: The permission attribute is required in the JAR file manifest of the main JAR file at all security levels.
Date-Time Package: a new set of packages that provide a comprehensive date-time model.
Pack200: Pack200 Support for Constant Pool Entries and New Bytecodes Introduced by JSR 292.
IO and NIO: Decrease in the size of the /jre/lib/charsets.jar file.
Java.lang and java.util Package: Parallel Array Sorting; Standard Encoding and Decoding Base 64; and Unsigned Arithmetic Support.
JDBC: The JDBC-ODBC Bridge has been removed.
Java DB: Java DB 10.10 included.
Networking: The class java.net.URLPermission has been added.
Concurrency: Classes and interfaces have been added to the java.util.concurrent package.
Java XML – JAXP.
HotSpot: Default Methods in the Java Programming Language are supported by the byte code instructions for method invocation.
Java Mission Control 5.3 Release Notes: JDK 8 includes Java Mission Control 5.3.
Key features of Java 8 have also been presented in a webcast last March 25, 2014. Oracle also promoted the release of Java Platform, Standard Edition (SE 8), Java Platform, Micro Edition 8 (ME 8) and other Java Embedded products during the webcast. Over 30 technical videos of Java SE 8, Java ME 8, Java Embedded and the Internet of Things are now available at Oracle’s website.
Another update has been released regarding the development of JDK 8 last January 13, 2014 by Mathias Axelsson, Oracle JDK 8 Release Manager. According to his post on a Java mailing list, they will have the JDK 8 release candidate built before the January 23 deadline and have it shipped on March 18.
Axelsson said that they have been doing a lot of bug fixing to be able to have a release candidate on the last week of January. For JDK 8’s initial release, they are going to prioritize to fix the showstopper bugs. Non-showstopper bugs’ fixes will be postponed to keep track of its schedule. According to Axelsson, “We have a few fixes that are pending integration but overall things are looking very good and we’re on-track to have the release candidate built before the January 23 deadline.”
He also mentioned that they are making minor changes to the build promotion schedule as the deadline of final release candidate approaches. They will complete the promoted build on January 16 in accordance to the build schedule. Builds will be done on the request according to what fixes have gone in after January 16. “We’re making this adjustment to keep the turnaround time as short as possible if we have to take a fix and respin,” Axelsson added.
JDT adds a set of plug-ins for Java development to eclipsethat add the capabilities of a full-featured Java IDE. JDT plugins make available APIs so that they can be further stretched by other tool designers. Java Development Tool is supported by three pillars which are following:
1. Java Model: • Java Model – Concept and Design. • Java Model – Create, Access, Load Projects. • Traverse .jar File by Using Eclipse JDT. • Count total number of methods in a Java Project.
2. ASTParser – Parse projects, files, and methods: • Use ASTView to explore AST of a Java class • Parse Single .java files • Parse a Java Project • Parse a Java method • Parse Java statements • A complete standalone example of ASTParser
3. Java Search Engine: • A plain example • Search method references
Here are the points which can be used to improve Eclipse:
1. It can be improved by adding something like the Smalltalk Refactoring Browser.
2. Editor features should be added in order to be more attractive for visitors, riders and implementers.
3. Visitors will surely want to see the libraries of standard Java projects placed in a “Libraries” node similarly to the libraries of Web projects. It is irritating to set and unset filters to attain something similar.
4. Intellij is quite rocking to be here.
5. A dictionary should also be installed to correct spelling mistakes in the java documentation commentaries.
6. The XML editor, WTP, CDT, the visual editor, the OpenOffice.org IDL editor and all supplementary tools are required to be improved.
7. Profiler is lacking, should be improved too.
8. People will love to see a refactor from a named class to an anonymous class. Anonymous classes provide well encapsulation.
9. The code duplication examination options in IDEA are great.
10. Following are the features that can be much useful while working with grand workplaces:
• A view: a project depended graph.
• An “Open project and all referenced projects” as there is a close unrelated project feature.
• Create working set with referenced projects.
11. Imports – Auto insertion of imports allIntelliJ should be well because this is a major annoyance for the users.
12. Code Formatter – it should be good and it will be so, if you could translate to/from Check style configuration and have the formatter being sophisticated enough to say quick fix your code against a Check style configuration. The code formatter’s handling of comments also leaves much to be wanted.
13. Search -The results table should display a line for each match found to enable you to get an overview of the results without essentially needing to navigate into a file and to permit one to watch the results across files and also to be able to jump directly to a particular search result. This results table in common should be improved which would make all same features much more beneficial.
14. Working sets may really be advantageous in eclipse.
15. Quick marks–once more in IntelliJ style, the 2 plugins that aim to provide this have both caused many issues in the past, it should become a first class eclipse citizen.
16. Comparing it with “compare with clipboard” will be quite beneficial, if added.
Points mentioned above are the minor things that can make eclipse good to use.