Java version history: Difference between revisions

Content deleted Content added
Java SE 7: rm link to 2004 year
Leandrod (talk | contribs)
m Ref.
Line 52:
Codename '''Tiger'''.
(Originally numbered 1.5, which is still used as the internal version number. [http://java.sun.com/j2se/1.5.0/docs/relnotes/version-5.0.html]) Developed under [http://www.jcp.org/en/jsr/detail?id=176 JSR 176], Tiger added a number of significant new language features: [http://www.sun.com/smi/Press/sunflash/2004-09/sunflash.20040930.1.html press release] [http://java.sun.com/j2se/1.5/docs/relnotes/features.html full list of changes]
; [[Generic programming|Generics]] : Provides compile-time (static) [[type safety]] for collections and eliminates the need for most [[Type conversion|typecasts (type conversion)]]. (Specified by [http://www.jcp.org/en/jsr/detail?id=14 JSR 14].)
; [[Metadata (computing)|Metadata]] : Also called [[Java annotation|annotation]]s, allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities. (Specified by [http://www.jcp.org/en/jsr/detail?id=175 JSR 175].)
; [[Autoboxing]]/unboxing : Automatic conversions between [[primitive type]]s (such as <code>int</code>) and [[primitive wrapper class]]es (such as {{Javadoc:SE|java/lang|Integer}}). (Specified by [http://www.jcp.org/en/jsr/detail?id=201 JSR 201].)
; [[Enumeration (programming)|Enumerations]] : The <code>enum</code> keyword creates a [[type safety|typesafe]], ordered list of values (such as <code>Day.MONDAY</code>, <code>Day.TUESDAY</code>, etc.). Previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern). (Specified by [http://www.jcp.org/en/jsr/detail?id=201 JSR 201].)
; [[Variadic function|Varargs]] : The last parameter of a method can now be declared using a type name followed by three dots (e.g. <code>void drawtext(String... lines)</code>). 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.
; Enhanced '<code>for</code> [[program loop|loop]]' : The <code>for</code> loop syntax is extended with special syntax for iterating over each member of either an array or any {{Javadoc:SE|java/lang|Iterable}}, such as the standard {{Javadoc:SE|java/util|Collection}} classes, using a construct of the form:
 
<!-- The table below indents the code example and following text by 16 pixels -->
Line 64:
|
void displayWidgets (Iterable<Widget> widgets) {
for (Widget w : widgets) {
w.display();
}
Line 76:
 
=== Release nomenclature ===
As of this version, Sun replaced the name "J2SE" with '''Java SE''' and dropped the ".0" from the version number.<ref name = "naming">[http://www.java.com/en/about/brand/naming.jsp Java brand naming].</ref> Internal numbering for developers remains 1.6.0.<ref name = "version 6">[http://java.sun.com/javase/6/webnotes/version-6.html Version 6], Java webnotes, Sun.</ref>
 
=== Major changes ===
Major changes included in this version : [http://www.sun.com/smi/Press/sunflash/2006-12/sunflash.20061211.1.xml press release] [http://java.sun.com/javase/6/features.jsp full list of changes]
* Scripting Language Support ([[JSR 223]]) : Generic API for tight integration with scripting languages, and built-in [[Mozilla]] [[Javascript]] [[Rhino (JavaScript engine)|Rhino]] integration
* Dramatic performance improvements for the core platform [http://www.javalobby.org/java/forums/t66270.html] [http://weblogs.java.net/blog/opinali/archive/2005/11/mustangs_hotspo.html], and [[Swing_(Java)|Swing]].
* [[JDBC]] 4.0 support ([[JSR 221]]).
* Java Compiler API ([[JSR 199]]): 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 [[Java_annotation|annotations]] ([[JSR 269]]).
* Many [[GUI]] improvements, such as integration of [[SwingWorker]] in the API, table sorting and filtering, and true [[Swing_(Java)|Swing]] double-buffering (eliminating the gray-area effect).
 
== Java SE 7==
Codename '''Dolphin'''.<ref name = "JDK7">[https://jdk7.dev.java.net/ JDK7], Sun.</ref>
This is in the early planning and development stages. The Dolphin Project started up in August 2006, with release estimated in 2008. New builds including enhancements and bug fixes are released approximately weekly.
 
Line 97:
* [[Java (programming language)]]
* [[Java Community Process]]
 
==References==
<references />
 
==External links==