Latest in branch J2SE 1.2
1.2.2_18
Released 12 Jan 2007
(19 years ago)
SoftwareJava/Java SE
VersionJ2SE 1.2
Status
End of life
Class file version46.0
Initial release1.2.0
04 Dec 1998
(27 years ago)
Latest release1.2.2_18
12 Jan 2007
(19 years ago)
End of
premier support
Nov 2003
(Ended 22 years ago)
End of
extended support
Unavailable
Downloadhttps://www.oracle.com/java/technologies/java-archive-javase-v12-downloads.html
Java/Java SE J2SE 1.2 ReleasesView full list

What Is New in Java 1.2

Java 1.2 was a monumental release that fundamentally expanded the platform's capabilities. It introduced the "Java 2" branding and was packed with major features across the board, from new GUI toolkits to comprehensive collection frameworks.

Category Key Additions
New Features Swing GUI, Collections Framework, Java Plug-in, Print Service API
Core Enhancements Strictfp keyword, JAR signing and verification, Policy Tool
Performance JIT compiler on Windows, Performance improvements in JVM and libraries
Tools Java IDL (CORBA), RMI over IIOP

How did the Collections Framework change Java development?

The introduction of the Collections Framework was a game-changer for data handling. It provided a unified, standardized architecture for representing and manipulating collections of objects, replacing ad-hoc implementations like Vector and Hashtable.

This meant developers finally had a consistent set of interfaces (List, Set, Map) and implementations (ArrayList, HashMap, TreeSet). In practice, it made code more reusable, easier to read, and far more efficient by providing optimized algorithms for sorting and searching.

Why was the Swing GUI toolkit such a big deal?

Swing addressed the significant limitations of the original AWT (Abstract Window Toolkit) by providing a rich set of pure-Java, pluggable look-and-feel components. This was a major step forward for building complex, cross-platform desktop applications.

Unlike AWT, which relied on native peers, Swing components were lightweight and rendered by the Java runtime itself. This mattered because it finally gave Java apps a consistent visual appearance across different operating systems and enabled highly customizable UIs that weren't possible before.

What security improvements were introduced?

Java 1.2 significantly tightened the security model with fine-grained access control. The new architecture allowed for setting security policies on a per-codebase basis, giving administrators much more precise control over what applets and applications could do.

Key features included JAR signing for verifying the source of code and the Policy Tool, a graphical utility for defining these security policies. This moved security beyond the all-or-nothing sandbox model of earlier versions.

How did Java 1.2 improve deployment?

The Java Plug-in was a critical new deployment tool that allowed applets to run in a browser using the exact JRE version you specified, instead of being tied to the browser's often-outdated built-in VM. This solved massive compatibility headaches for developers.

Coupled with JAR signing and the new Java Archive (JAR) indexing feature, which sped up class loading, it made deploying complex Java applications and applets a much more reliable and manageable process.

FAQ

What does the 'strictfp' keyword do?
It ensures floating-point calculations are strictly compliant with the IEEE 754 standard, guaranteeing identical results across all platforms. This is crucial for scientific applications where reproducibility is non-negotiable.

Did Java 1.2 deprecate any major features?
Yes, several methods in the Thread class were deprecated, including stop(), suspend(), and resume(), due to their inherent potential to cause deadlocks and other threading issues.

What is the purpose of the Java IDL tool?
Java IDL adds CORBA (Common Object Request Broker Architecture) capabilities to the platform, allowing Java applications to communicate with other CORBA-compliant objects, regardless of the language they were written in.

How did RMI change in this release?
RMI gained support for the IIOP protocol (RMI over IIOP), enabling better interoperability with CORBA systems. This allowed Java objects to communicate remotely with objects written in languages like C++ that supported CORBA.

Were there any notable performance boosts?
Absolutely. The release included a Just-In-Time (JIT) compiler for Windows platforms and overall performance enhancements to the JVM and core libraries, making applications feel significantly snappier.

Releases In Branch J2SE 1.2

VersionRelease date
1.2.2_1812 Jan 2007
(19 years ago)
1.2.2_01812 Jan 2007
(19 years ago)
1.2.2_1702 Oct 2003
(22 years ago)
1.2.2_01702 Oct 2003
(22 years ago)
1.2.2_1627 Jun 2003
(22 years ago)
1.2.2_01627 Jun 2003
(22 years ago)
1.2.2_1509 Apr 2003
(23 years ago)
1.2.2_01509 Apr 2003
(23 years ago)
1.2.2_1429 Oct 2002
(23 years ago)
1.2.2_01429 Oct 2002
(23 years ago)
1.2.2_1331 Jul 2002
(23 years ago)
1.2.2_01331 Jul 2002
(23 years ago)
1.2.2_1225 Apr 2002
(24 years ago)
1.2.2_01225 Apr 2002
(24 years ago)
1.2.2_1131 Jan 2002
(24 years ago)
1.2.2_01131 Jan 2002
(24 years ago)
1.2.2_1001 Nov 2001
(24 years ago)
1.2.2_01001 Nov 2001
(24 years ago)
1.2.2_0926 Jul 2001
(24 years ago)
1.2.2_00926 Jul 2001
(24 years ago)
1.2.2_0803 May 2001
(25 years ago)
1.2.2_00803 May 2001
(25 years ago)
1.2.2_0721 Dec 2000
(25 years ago)
1.2.2_00721 Dec 2000
(25 years ago)
1.2.2_0612 Jul 2000
(25 years ago)
1.2.2_00612 Jul 2000
(25 years ago)
1.2.2_00505 May 2000
(26 years ago)
1.2.2_0505 May 2000
(26 years ago)
1.2.2_05a17 Apr 2000
(26 years ago)
1.2.2_00420 Mar 2000
(26 years ago)
1.2.2_00315 Oct 1999
(26 years ago)
1.2.2_00205 Oct 1999
(26 years ago)
1.2.2_00102 Sep 1999
(26 years ago)
1.2.208 Jul 1999
(26 years ago)
1.2.130 Mar 1999
(27 years ago)
1.2.004 Dec 1998
(27 years ago)