Tuesday, May 06, 2008

Superpackages in Java 7

Motivation of the change(Defects of Packages)
• Package names are hierarchical
• Package membership is not hierarchical
> A type defined in package P.Q is not in package P
• Package visibility is not hierarchical
> Code in P.Q cannot access package-visible members in P
• Result: Too much is declared public


Superpackages
• Aim: Language-level modules, independent of
deployment mechanism

super package java {

member java.util;
member java.io;
member sun misc; // Impl detail
export java.util.*;// Public API
export java.io.*;

}

Java 7 Features

Tentative JDK 7 Language Themes
• Modularity
> Packages++

• Abstraction
> Anonymous classes++

• Consistency
> Erase erasure

Advantages to running applications on Java SE 6

1)Applications run faster on the desktop and servers
2)New 'Dynamic Attach' diagnostics simplify troubleshooting
3)Expanded Solaris DTrace support provides additional value on Solaris
4)Improved 'native' look and feel across Solaris, Linux, and Windows
5)First Java platform with full support for Windows Vista

Benefits in upgrading developer environments to Sun's Java SE 6
1)JavaScript integrated and included with the platform
2)Scripting languages framework extends support for Ruby, Python, and other languages
3)Complete light-weight platform for web services, right out of the box
4)Simplified GUI design and expanded native platform support
5)Full JDBC4 implementation providing improved XML support for Databases
6)Java DB included with the JDK, a free to use and deploy Java Database
7)Full support by NetBeans IDE 5.5

--------------------------------------------------------------------------------