Latest in branch Java SE 6
6u211
Released 16 Oct 2018
(7 years ago)
SoftwareJava/Java SE
VersionJava SE 6
Status
End of life
Class file version50.0
Initial release6
12 Dec 2006
(19 years ago)
Latest release6u211
16 Oct 2018
(7 years ago)
End of
premier support
Dec 2018
(Ended 7 years, 4 months ago)
End of
extended support
Unavailable
Release noteshttps://www.oracle.com/java/technologies/javase/6-relnotes.html#R160_211
Documentationhttps://docs.oracle.com/javase/6/docs/index.html
Downloadhttps://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html
Java/Java SE Java SE 6 ReleasesView full list

What Is New in Java 6

Category Key Updates
New Features Scripting Language Support, Web Services Enhancements, JDBC 4.0, Java Compiler API
Core Improvements Pluggable Annotation Processing, JConsole Monitoring & Management, Improved Desktop Integration
Performance Garbage Collection Ergonomics, Improved Lock Contention Handling
Deprecated & Removed Older JDBC APIs, JAXM, CORBA Stub Compiler (rmic -iiop)

What scripting support was added?

Java SE 6 integrated scripting languages directly into the platform through JSR 223. This lets you call engines like JavaScript (Mozilla Rhino), Ruby, or Groovy from your Java code. You use the ScriptEngineManager to get a ScriptEngine instance and execute scripts.

In practice, this was huge for embedding configuration logic or rules engines without building a custom interpreter. You could pass Java objects into the script context and get results back, making the JVM a true polyglot environment.

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
Object result = engine.eval("function greet() { return 'Hello, World!'; }; greet();");

How did web services get better?

The platform gained first-class support for publishing and consuming web services. You could annotate a plain Java class with @WebService and use the new Endpoint.publish() method to expose it as a SOAP service instantly.

On the client side, the new javax.xml.ws.Service API provided a much cleaner way to consume services compared to the older, more cumbersome approaches. This matters because it finally made web services feel like a native part of Java SE, not just an EE add-on.

What changed in JDBC 4.0?

JDBC 4.0 was a major quality-of-life update for database work. The biggest win was automatic driver loading - you no longer needed to call Class.forName() to register the driver. Just drop the JAR and the DriverManager finds it.

It also added support for SQLXML data type and better exception handling with chained exceptions. For developers, this meant less boilerplate code and more robust database applications.

How was monitoring improved?

JConsole became a fully supported, out-of-the-box monitoring tool. It could attach to any local or remote Java 6 JVM to visualize memory usage, thread states, and JMX bean attributes in real-time.

This was a game-changer for troubleshooting production issues. Instead of guessing why an app was slow, you could fire up JConsole and see exactly which locks were causing thread contention or how heap memory was behaving.

What is pluggable annotation processing?

This feature, defined by JSR 269, allowed compiler-independent processing of annotations. You could write annotation processors that ran during the compilation phase to generate code, validate constraints, or create metadata files.

In practice, this is what enabled modern libraries like Lombok and MapStruct to work their magic. It opened the door for powerful metaprogramming techniques directly within the standard javac compiler.

FAQ

Do I still need to call Class.forName() to load a JDBC driver in Java 6?
No. JDBC 4.0 introduced automatic driver discovery via the service provider mechanism. As long as your driver JAR contains the proper META-INF/services/java.sql.Driver file, the DriverManager will load it automatically.

Can I use JavaScript directly in my Java 6 application?
Yes. The built-in Mozilla Rhino engine allows you to execute JavaScript code. You can pass Java objects to scripts and call script functions from Java, enabling powerful scripting capabilities.

What replaced the old rmic -iiop compiler?
The CORBA stub compiler (rmic -iiop) was deprecated. For IIOP interoperability, you should use the available alternatives that don't require pre-compiling stubs, as the technology was being phased out.

Is JConsole included with the JDK or do I need to install it separately?
JConsole is included standard with the Java 6 JDK installation. You can find it in the bin directory alongside java and javac, ready to use for monitoring any JVM.

How do I create a simple web service without an application server?
Use the @WebService annotation on your class and publish it with Endpoint.publish("http://localhost:8080/service", new MyService()). Java SE 6 includes a lightweight HTTP server for this purpose.

Releases In Branch Java SE 6

VersionRelease date
6u21116 Oct 2018
(7 years ago)
6u20117 Jul 2018
(7 years ago)
6u19117 Apr 2018
(8 years ago)
6u18116 Jan 2018
(8 years ago)
6u17117 Oct 2017
(8 years ago)
6u16118 Jul 2017
(8 years ago)
6u15118 Apr 2017
(9 years ago)
6u14117 Jan 2017
(9 years ago)
6u13118 Oct 2016
(9 years ago)
6u12119 Jul 2016
(9 years ago)
6u11519 Apr 2016
(10 years ago)
6u11305 Feb 2016
(10 years ago)
6u11119 Jan 2016
(10 years ago)
6u10520 Oct 2015
(10 years ago)
6u10114 Jul 2015
(10 years ago)
6u9514 Apr 2015
(11 years ago)
6u9120 Jan 2015
(11 years ago)
6u8514 Oct 2014
(11 years ago)
6u8115 Jul 2014
(11 years ago)
6u7515 Apr 2014
(12 years ago)
6u7114 Jan 2014
(12 years ago)
6u6515 Oct 2013
(12 years ago)
6u6010 Sep 2013
(12 years ago)
6u5118 Jun 2013
(12 years ago)
6u4516 Apr 2013
(13 years ago)
6u4304 Mar 2013
(13 years ago)
6u4119 Feb 2013
(13 years ago)
6u3901 Feb 2013
(13 years ago)
6u3811 Dec 2012
(13 years ago)
6u3716 Oct 2012
(13 years ago)
6u3530 Aug 2012
(13 years ago)
6u3414 Aug 2012
(13 years ago)
6u3312 Jun 2012
(13 years ago)
6u3226 Apr 2012
(14 years ago)
6u3114 Feb 2012
(14 years ago)
6u3012 Dec 2011
(14 years ago)
6u2918 Oct 2011
(14 years ago)
6u2716 Aug 2011
(14 years ago)
6u2607 Jun 2011
(14 years ago)
6u2521 Apr 2011
(15 years ago)
6u2415 Feb 2011
(15 years ago)
6u2307 Dec 2010
(15 years ago)
6u22m18 Oct 2010
(15 years ago)
6u2212 Oct 2010
(15 years ago)
6u21p23 Sep 2010
(15 years ago)
6u2107 Jul 2010
(15 years ago)
6u2015 Apr 2010
(16 years ago)
6u1930 Mar 2010
(16 years ago)
6u1813 Jan 2010
(16 years ago)
6u1703 Nov 2009
(16 years ago)
6u1610 Aug 2009
(16 years ago)
6u1504 Aug 2009
(16 years ago)
6u14p29 May 2009
(17 years ago)
6u1428 May 2009
(17 years ago)
6u1324 Mar 2009
(17 years ago)
6u1202 Feb 2009
(17 years ago)
6u1102 Dec 2008
(17 years ago)
6u1015 Oct 2008
(17 years ago)
6u708 Jul 2008
(17 years ago)
6u6p01 Jul 2008
(17 years ago)
6u5p29 Apr 2008
(18 years ago)
6u615 Apr 2008
(18 years ago)
6u504 Mar 2008
(18 years ago)
6u411 Jan 2008
(18 years ago)
6u4p04 Jan 2008
(18 years ago)
6u328 Sep 2007
(18 years ago)
6u203 Jul 2007
(18 years ago)
6u113 Mar 2007
(19 years ago)
612 Dec 2006
(19 years ago)