Java7
update came out on July 28, 2011 but still a lot of programmers do not want to
shift from the Java6 to the Java7 version. Well, extensively using Java from
the last couple of months, I decided to write about the update.
Java7
also named Dolphin, is the outcome of the OpenJDK 7 project. Java7 has many new
feature improvements. Many of its milestones and builds have different names
like Project Coin.
Feature
updates:
1.
Virtual
Machine: Da Vinci Machine Project
Multiple
Language support: The JVM will now have architectural support for languages
other than Java. This move is done to extend the JVM and portability to
different languages. This is definitely a move to expand the future JAVA
ecosystem.
Strict
Class file Checking: This was introduced in SE6. There are major improvements
in this version like type checking verifier. Also, improvements in backward
compatibility with old inferencing
verifier.
2.
Lang:
Project coin
Lang
is one of the most extensively used Java libraries. There are a couple of small
language enhancements which are significant for programmers.
-
Strings
in Switch statement
-
Automatic
Resource management in try statement
-
Type
Interface Improvements for generic interface creation (diamond)
-
Binary integral literals and underscores in numeric literals
-
Simplified varargs method
invocation
-
Precise Exception throwing for
multi-catch
3.
Core:
API
modifications to class loader for Deadlock fix: Custom class loaders that do
not adhere to a acyclic class loader delegation model can be deadlocked by this
modification.
Method
to close URLClassLoader: A new method to close the files which are kept open by
the URLClassLoader.
Concurrency
and collection framework: A improved framework lightweight
fork/join framework, flexible and reusable synchronization barriers, transfer
queues, concurrent linked double-ended queues, and thread-local pseudo-random
number generators. These include changes in the java.util.concurrent
package with classes like ForkJoinPool, Phaser, TransferQueue, ConcurrentLinkedDeque,
ThreadLocalRandom.
4.
Internationalization:
Unicode 6.0: This is upgraded support for Unicode character set to
6.0
Locale Enhancements: Locale enhancements for Chinese, Hebrew,
Uzbek and Latin characters.
5.
I/O and networking
New I/O APIs: New I/O APIs for filesystem access, socket binding,
configurations and multicast datagrams for NIO.2
NIO.2 filesystem provider for jar and zip extensions.
Upgrade to the networking configurations using the Windows Vista
IPv6 stack.
Support for transport layer security version 1,2
6.
Security and Cryptography:
Elliptic curve cryptography: A portable Elliptic curve Cryptographic
implementation for all java applications to use them directly.
7.
Database Connectivity:
One of the most important use cases of Java that is DB
connectivity gets a JDBC 4.1 upgrade.
8.
Client
XRender pipeline for Java 2D: 2D graphics made easy with a new
Java2D graphics pipeline based on X11 XRender extension which harnesses the
power of modern GPUs
New Graphic platform APIs: New features for platform include
translucent and shaped windows and heavyweight/lightweight component mixing.
New Look and feel for Swing: Nimbus like new look and fell for the
Swing package.
Swing JLayer component: Addition of new SwingLabs JXLayer to
decorator platform.
Grevill sound synthesizer: New and improved sound synthesizer created
as a proposal for the Audio Synthesis Engine Project.
9.
Web
Crucial Update XML stack: The extensively used XML stack for the
web framework gets an update here to the most stable version.
10.
Management
Enhanced MBeans; Handle your CPU loads and notifications better by
enhanced MBeans. MBeans report recent CPU load of the whole system, the CPU
load of the JVM process, and to send JMX notifications when GC events occur.
Apart from these there is something that you can expect from JDK8
like more enhancements to JVM for modular programming, Annotations, Language
support, project Lambda, Modularization which focusses on JDK, Swing
application framework and JDatePicker components.
Detailed description on : http://openjdk.java.net/projects/jdk7/features/#fa535991
No comments:
Post a Comment