Blog Archive

Wednesday, 4 December 2013

Java7 Features


In this Tutorials we are going to see what are the changes and new features comes in Java7.

Virtual Machine :

JSR 292: Support for dynamically-typed languages (InvokeDynamic)
Extensions to the JVM, the Java language, and the Java SE API to support the implementation of dynamically-typed languages at performance levels near to that of the Java language itself

Strict class-file checking
As specified in JSR 202, which was part of Java SE 6, and in the recently-approved maintenance revision of JSR 924, class files of version 51 (SE 7) or later must be verified with the typechecking verifier; the VM must not fail over to the old inferencing verifier.

Language

JSR 334: Small language enhancements (Project Coin)
A set of small language changes intended to simplify common, day-to-day programming tasks:

  1. Strings in switch statements
  2. try-with-resources statements
  3. improved type inference for generic instance creation ("diamond")
  4. simplified varargs method invocation
  5. better integral literals
  6. improved exception handling (multi-catch)

We will see the programming examples of these features in upcoming chapters.

Core

Upgrade class-loader architecture
Modifications to the ClassLoader API and implementation to avoid deadlocks in non-hierarchical class-loader topologies

Method to close a URLClassLoader
A method that frees the underlying resources, such as open files, held by a URLClassLoader

Concurrency and collections updates (jsr166y)
A lightweight fork/join framework, flexible and reusable synchronization barriers, transfer queues, concurrent linked double-ended queues, and thread-local pseudo-random number generators

Internationalization

Unicode 6.0
Upgrade the supported version of Unicode to 6.0

Locale enhancement
Upgrade the java.util.Locale class to support IETF BCP 47 (Tags for Identifying Languages) and UTR 35 (Local Data Markup Language)

Separate user locale and user-interface locale
Upgrade the handling of locales to separate formatting locales from user-interface language locales

I/O and Networking

JSR 203: More new I/O APIs for the Java platform (NIO.2)
New APIs for filesystem access, scalable asynchronous I/O operations, socket-channel binding and configuration, and multicast datagrams

NIO.2 filesystem provider for zip/jar archives
A fully-functional and supported NIO.2 filesystem provider for zip and jar files

SCTP (Stream Control Transmission Protocol)
An implementation-specific API for the Stream Control Transmission Protocol on Solaris

SDP (Sockets Direct Protocol)
Implementation-specific support for reliable, high-performance network streams over Infiniband connections on Solaris and Linux

Use the Windows Vista IPv6 stack
Upgrade the networking code to use the Windows Vista IPv6 stack, when available, in preference to the legacy Windows stack

TLS 1.2
Add support for Transport Layer Security version 1.2 (RFC 5246)

Security & Cryptography

Elliptic-curve cryptography (ECC)
A portable implementation of the standard Elliptic Curve Cryptographic (ECC) algorithms, so that all Java applications can use ECC out-of-the-box

Database Connectivity

JDBC 4.1
Upgrade to JDBC 4.1 and Rowset 1.1

Client

XRender pipeline for Java 2D
A new Java2D graphics pipeline based upon the X11 XRender extension, which provides access to much of the functionality of modern GPUs

Create new platform APIs for 6u10 graphics features
Create new platform APIs for features originally implemented in the 6u10 release: Translucent and shaped windows, and heavyweight/lightweight component mixing

Nimbus look-and-feel for Swing
A next-generation cross-platform look-and-feel for Swing

Swing JLayer component
Add the SwingLabs JXLayer component decorator to the platform

Gervill sound synthesizer
Drop the old, proprietary, encumbered sound synthesizer in favor of Gervill, a synthesizer created as a proposal for the Audio Synthesis Engine Project

Web

Update the XML stack
Upgrade the components of the XML stack to the most recent stable versions: JAXP 1.4, JAXB 2.2a, and JAX-WS 2.2

Management

Enhanced MBeans
Enhancements to the existing com.sun.management MBeans to report the recent CPU load of the whole system, the CPU load of the JVM process, and to send JMX notifications when GC events occur (this feature previously included an enhanced JMX Agent, but that was dropped due to lack of time)

0 comments

Post a Comment