Wednesday, December 7, 2011

Let's know our JDK version differences

Much of revolution started from 1.2 onwards with JFC event delegation model as earlier version of Java i.e 1.x was much popular for Servlets and Applets than anything else.

Java Printing API was one of the area that got improved from 1.2 onwards...

Do you know that Java Uses different Floating Point Standard than compared to Microsoft. Read the article here... You must know this...

http://www.concentric.net/~ttwang/tech/javafloat.htm

http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf
  
Differences:


JDK 1.0 (January 23, 1996)
·         Initial release
JDK 1.1 (February 19, 1997)
·         Retooling of the AWT event model
·         Inner classes added to the language
·         JavaBeans
·         JDBC
·         RMI
J2SE 1.2 (December 8, 1998)
This and subsequent releases through J2SE 5.0 were rebranded retrospectively Java 2 & version name "J2SE" (Java 2 platform, Standard edition) replaced JDK to distinguish the base platform from J2EE (java 2 platform, enterprise edition) and J2ME (java 2 platform, micro edition).
·         Strictfp keyword
·         Reflection
·         Swing api integration into the core classes
·         JVM equipped with a jit compiler
·         Java plug-in
·         Java IDL
·         An IDL implementation for corba interoperability
·         Collections Framework
Basic Features
docs
docs
docs
docs
docs
docs
docs
docs
docs
docs
docs
docs
docs
docs
docs
docs
http://web.cs.mun.ca/~michael/java/jdk1.2-docs/images/bullet-round-indented.gifMiscellaneous Features
             (Applet tag, Deprecation, Resources)
docs
Java Foundation Classes (JFC)
docs
docs
docs
docs
docs
docs
Enterprise Features
docs
docs
docs
Tool Support
docs
J2SE 1.3 (may 8, 2000)
·         Hotspot jvm included
·         JavaSound
·         JNDI included in core libraries
·         Java platform debugger architecture (jpda)
·         RMI was modified to support optional compatibility with corba
J2SE 1.4 (february 6, 2002)
·         assert keyword
·         Regular expressions
·         Exception chaining (allows an exception to encapsulate original lower-level exception)
·         Internet protocol version 6 (IPV6) support
·         Non-blocking nio (new input/output)
·         Logging API
·         Image i/o api for reading and writing images in formats like jpeg and png
·         Integrated XML parser and XSLT processor (JAXP)
·         Integrated security and cryptography extensions (JCE, JSSE, JAAS)
·         Java web start
J2SE 5.0 (september 30, 2004) tiger [originally numbered 1.5]
·         Generics: provides compile-time (static) type safety for collections and eliminates the need for most typecasts (type conversion). ( example: typed Collections, Set(<String>))
·         Metadata: also called annotations; allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities.
·         Autoboxing/unboxing: automatic conversions between primitive types (such as int) and primitive wrapper classes (such as integer).
·         Enumerations: the enum keyword creates a typesafe, ordered list of values (such as day.monday, day.tuesday, etc.). Previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern).
·         Swing: new skinnable look and feel, called synth.
·         Var args: the last parameter of a method can now be declared using a type name followed by three dots (e.g. Void drawtext(string... Lines)). In the calling code any number of parameters of that type can be used and they are then placed in an array to be passed to the method, or alternatively the calling code can pass an array of that type. Another example: printf() function, allows variable number of different arguments.
·         Enhanced for each loop: the for loop syntax is extended with special syntax for iterating over each member of either an array or any iterable, such as the standard collection classesfix the previously broken semantics of the java memory model, which defines how threads interact through memory.
·         Automatic stub generation for rmi objects.
·         Static imports concurrency utilities in package java.util.concurrent.
·         Scanner class for parsing data from various input streams and buffers.
·         Assertions
·         StringBuilder class (in java.lang package)
·         Annotations
Links:

Java SE 6 (december 11, 2006) mustang sun replaced the name "J2SE" with java se and dropped the ".0" from the version number. Beta versions were released in february and june 2006, leading up to a final release that occurred on december 11, 2006. The current revision is update 20.
·         Support for older win9x versions dropped.
·         Scripting lang support: Generic API for integration with scripting languages, & built-in mozilla javascript rhino integration
·         Dramatic performance improvements for the core platform, and swing.
·         Improved web service support through JAX-WS JDBC 4.0 support
·         Java compiler API: an API allowing a java program to select and invoke a java compiler programmatically.
·         Upgrade of JAXB to version 2.0: including integration of a stax parser.
·         Support for pluggable annotations
·         Many GUI improvements, such as integration of swingworker in the API, table sorting and filtering, and true swing double-buffering (eliminating the gray-area effect).
Java se 6 update 10 A major enhancement in terms of end-user usability.
·         Java Deployment Toolkit, a set of javascript functions to ease the deployment of applets and java web start applications.
·         Java Kernel, a small installer including only the most commonly used jre classes. Enhanced updater.
·         Enhanced versioning and pack200 support: server-side support is no longer required.
·         Java quick starter, to improve cold start-up time.
·         Improved performance of java2D graphics primitives on windows, using direct3D and hardware acceleration.
·         A new Swing look and feel called NIMBUS and based on synth.
·         Next-generation java plug-in: applets now run in a separate process and support many features of web start applications.
Java se 6 update 12 This release includes the highly anticipated 64-bit java plug-in (for 64-bit browsers only), windows server 2008 support, and performance improvements of java and JAVAFX applications.
Features and Enhancements JDK Documentation


Java Platform, Standard Edition 6 is a major feature release. The following list highlights many of the significant features and enhancements in Java SE 6 since the prior major release, J2SE 5.0. It is followed by a detailed table with links to related bugs, enhancements, and JSRs.


Note, this web page relates to the Release Candidate milestone for Java SE 6. Its related Umbrella JSR 270 does not itself define specific features. Instead it enumerates features defined in other JSRs or through the concurrent maintenance review of the Java SE platform specification. The final release is expected to include all JSR 270 features, although it is possible for an approved feature to be dropped.

Refer also to:
Java Platform, Standard Edition Differences between 5.0 fcs and 6 Beta .


Highlights of Technology Changes in Java SE 6

Choose a technology for links to further information.
Collections Framework
Deployment (Java Web Start and Java Plug-in)
Drag and Drop
Instrumentation
Internationalization Support
I/O Support
JAR (Java Archive Files) - An annotated list of changes between the 5.0 and 6.0 releases to APIs, the jar command, and the jar/zip implementation.
Java Web Start
Java DB 10.2 JDBC4 Early Access

The $JAVA_HOME/db subdirectory contains class libraries for Java DB, Sun Microsystems's distribution of the Apache Derby database technology.
For information on Java DB, see Java DB.
For information on Derby, see: Apache Derby.
For documentation on this version of Java DB, see Java DB - Reference.
For a description of the capabilities of this version of Java DB, see the release notes in the $JAVA_HOME/db subdirectory.
This Early Access version of Java DB is built from Apache Derby 10.2.1.7 source code (revision 453926) using JDK 6 JDBC 4 APIs to build JDBC 4 driver code.
Comments regarding this version of Java DB can be sent to javadb-ea@sun.com.

DISCLAIMER: THIS IS EARLY ACCESS SOFTWARE AND COMES WITH NO WARRANTIES OR SUPPORT. IT IS PROVIDED "AS IS". IT IS NOT FOR PRODUCTION USE.

JMX (Java Management Extensions) - A list of JMX API changes between the J2SE 5.0 and Java SE 6 releases.
JPDA (Java Platform Debugger Architecture)
JVM TI (Java Virtual Machine Tool Interface)

lang and util Packages
Monitoring and Management for the Java Platform
JConsole is Officially Supported in Java SE 6
Networking Features
Performance
Reflection
RMI (Remote Method Invocation)
Scripting
Security
Serialization of Objects
Swing
VM (Java Virtual Machine)

Detailed Table of Technology Changes in Java SE 6

Items are ordered by area/component. The first column indicates the scope of a change:

jsr – A larger feature or feature set having its own Java Specification Request
api – A smaller feature that adds new Java APIs (application programming interfaces)
imp – An implementation enhancement that does not involve new APIs, for example, a performance improvement





SCOPEAREA /
COMPONENT
SYNOPSISRFE
apiclient/2dImageIO: GIF writer4339415
impclient/2dNative Text Rendering Parity4726365
impclient/2dImproved hardware acceleration on Windows5104393
impclient/2dSingle-threaded rendering for OpenGL pipelines6219284
apiclient/awtPop-up splash screen at beginning of Java startup4247839
apiclient/awtJava applications can access desktop applications6255196
apiclient/awtImproved modal dialogs4080029
impclient/awtXAWT is the default Toolkit on Solaris5049146
apiclient/awtWindows system-tray support4310333
impclient/awtBetter support for input in non-English locales4360364
impclient/awtLive resizing6199167
impclient/deployImproved application deployment across browsers6329487
apiclient/deployAllow JAR files to be shared across installed JREs6271065
impclient/deployImproved user experience in JRE/JDK installer5079209
impclient/deployImproved security6222485
impclient/deployDirect execution of JAR files on Linux6211008
impclient/deployImproved desktop integration in Java Web Start4625362
impclient/deployImproved IFTW installer6198632
impclient/deployImproved startup & footprint for plugin/webstart6329480
impclient/deployMozilla Firefox browser support6216340
impclient/deployDefault Java on Linux6211006
impclient/deployImproved user experience in Java Plug-in and Java Web Start6205064
impclient/deployUnified download engine4802551
impclient/deploySupport Mozilla and Firefox family browsers.6216340
apiclient/dndA way to avoid hangs on retrieval of clipboard data4818143
impclient/i18nSupport for important locales4324505
impclient/i18nJapanese calendar4609228
apiclient/i18nResource bundle enhancements5102289
apiclient/i18nNormalizer API4221795
apiclient/i18nPluggable locales: Pluggability for break iterators4052440
apiclient/i18nPluggable locales: Pluggability for locale names, formatters, and collators4052440
impclient/l10nChinese localization for JDK tools6209342
impclient/swingGTK Native L&F Fidelity6185456
impclient/swingThrough-the-stack: Reduced footprint / startup time6329480
impclient/swingNative look & feel fidelity 
impclient/swingAvalon Look-and-Feel6329475
apiclient/swingJTable sorting, filtering, and highlighting4747079
apiclient/swingJTabbedPane: Tabs as Components4499556
impclient/swingWindows native L&F fidelity5106661
apiclient/swingSwingWorker4681682
apiclient/swingImprove Drag & Drop features for Swing Components4468566
apiclient/swingExtend SpringLayout4726194
apiclient/swingText Document Printing4791649
impclient/swingImproved Painting Performance (fix grey boxes)4967886
jsrcore/coreJSR 223: Scripting for the Java Platform6249843
apicore/debugMultiple Simultaneous Agents4772582
apicore/debugAdded Heap Capabilities to JPDA4914266
apicore/debugAttach-on-demand6173612
apicore/debugJVMPI and JVMDI have been removed.4914266
apicore/jndiRead-timeout specification for LDAP operations6176036
apicore/libsArray Reallocation API4655503
impcore/libsBigDecimal optimizations for specjbb++
apicore/libsFloating point: Add IEEE 754 recommended functions to java.lang.{{,Strict}Math}4406429
apicore/libsStandard service-provider API (java.util.Service)4640520
apicore/libsCollections and Concurrency Updates6268386
apicore/libsIO Enhancement: Password Prompting4050435
apicore/libsIO Enhancement: File Attributes6216563
apicore/libsIO Enhancement: Method for Discovering Free Disk Space4057701
impcore/libsIO Enhancement: Long pathnames on Windows4403166
apicore/libsLow-level Java compiler API for IDEs4813736
jsrcore/libsJSR 202: Java Class File Specification Update4639391
jsrcore/libsJSR 199: Java compiler API4164450
impcore/libsImproved perceived footprint6280693
apicore/libsDeques6192552
apicore/libsNavigable Maps and Sets4155650
impcore/libsBitSet Updates496387549790174979028,497903150302676222207,6404711
impcore/libsPerformance Improvements when compiling using network file systems4770745
impcore/m&mImproved diagnosability of OutOfMemoryError6173515
apicore/m&mGeneric annotations for MBean descriptor contents6221321
apicore/m&mSupport for java.util.concurrent locks in the lock related facility5086470
impcore/m&mjconsole is more user-friendly6174397
apicore/m&mSmall-scale improvements to JMX Monitor API6222961
apicore/m&mdescriptors added to all types of MBean6204469
apicore/m&mMXBeans added to JMX6175517
apicore/netLight-weight HTTP server6270015
apicore/netInternationalized resource identifiers5085902
apicore/netDefault CookieManager implementation6244040
impcore/netSPNEGO HTTP authentication6260531
apicore/netInternational domain names4737170
apicore/netProgrammatic access to network parameters4691932
impcore/secNative platform GSS integration62020356345202
impcore/secSPNEGO in Java GSS6239635
impcore/secMS CAPI Keystore provider6318171
impcore/secBetter support for NSS keystore6273877
impcore/secImproved Policy performance5037004
impcore/secJSR 268: Java Smart Card I/O API6239117
jsrcore/secJSR 105: XML DSig4635230
apicore/secEnhance certificate APIs4635060
jsrcore/toolsJSR 269: Standard pluggabilty API for annotation processors (APT)6222574
impcore/toolsjavac: Support for split verification622786262278625110170,51101846217263
impcore/toolsjavac: Implement JSR 175'sjava.lang.SuppressWarnings4986256
impcore/toolsClass-path wildcards6268383
jsree/eeJSR 250: Common annotations6304697
impee/jdbcExtended JDBC-ODBC bridge to enable JDBC 4.0 EoD features6290312
jsree/jdbcJSR 221: JDBC 4.06290312
impee/xmlJAXP 1.4
JSR 206: Java API for XML Processing
6317994
jsree/xmlSupport for the Web Services stack
JSR 222: JAXB 2.0
JSR 224: JAX-RPC 2.0
JSR 173: STAX
JSR 181: Web Services Metadata
6245626
apiee/xmlJavaBeans Activation Framework (JAF)6254474
impvm/compilersImproved performance of compiled code507971162068446239807,4850474,
500341950049075101346,61904136191063,
619638361967226211497,623248562336276245809,
62510026262235,
impvm/c1Linear scan register allocator for C16320351
impvm/c2Improved loop optimization507366250746085091921,6260293
impvm/c2Escape analysis6339956
impvm/c2Lock coarsening6245809
impvm/gcCMS: Parallelize concurrent marking
impvm/gcParallel compaction
impvm/runtimeImprove uncontended synchronization performance
impvm/runtimeImproved performance of contended synchronization operations
impvm/runtimeFaster format checker/class-file parser
impvm/runtimeImproved startup time6179212
impvm/runtimeImproved runtime performance
impvm/runtimeImproved JNI performance5086424
impvm/runtimeClass circularity detection4699981
impvm/runtimeDTrace support in the VM


On Printing Thats something not out of box in Java Refer to this:

http://code.google.com/p/ups-php/ 
http://code.google.com/p/zxing/ 
http://www.google.com/chrome/intl/en/p/cloudprint.html
http://code.google.com/p/escprinter/
http://code.google.com/p/jzebra/


Java SE 7 Features and Enhancements


Java Platform, Standard Edition 7 is a major feature release. This document includes information on features and enhancements in Java SE 7 and in JDK 7, Oracle's implementation of Java SE 7. 

Contents



Highlights of Technology Changes in Java SE 7


The following list contains links to the the enhancements pages in the Java SE 7 guides documentation. Choose a technology for further information.