JDK 1.4 favicon
All About JDK 1.4
JDK 1.4 • 2002 • Java 1.4
NIORegexLoggingJAXP (XML)Preferences APIJAAS

JDK 1.4 and the shift from JDK 1.3

NIO, Regex, Logging, JAXP, Preferences API, assert keyword, IPv6, Image I/O. First release under JCP (JSR-59). Chained Exceptions.

Why JDK 1.4 mattered

The release in context

NIO, Regex, Logging, JAXP, Preferences API, assert keyword, IPv6, Image I/O. First release under JCP (JSR-59). Chained Exceptions.

NIORegexLoggingJAXP (XML)Preferences APIJAAS
  • NIO, Regex, Logging, JAXP, Preferences API, assert keyword, IPv6, Image I/O. First release under JCP (JSR-59). Chained Exceptions.
  • Key release highlights included NIO, Regex, Logging, JAXP (XML).
  • Compared with JDK 1.3, the most visible shifts included XML / JAXP, Parallel GC, assert keyword.
  • ~2700 classes. First JCP release. NIO changes Java I/O permanently.
  • The toolkit became more credible for large systems thanks to better I/O, diagnostics, and everyday runtime quality-of-life improvements.
Platform stack

JDK 1.4 architecture preview

This larger diagram expands the smaller JDK badge into a layered platform view showing how the development kit, runtime, virtual machine, APIs, tools, and supporting subsystems fit together for this release.

Previous-version diff

What changed from JDK 1.3 to JDK 1.4

The toolkit became more credible for large systems thanks to better I/O, diagnostics, and everyday runtime quality-of-life improvements.

Other Base Libraries

  • Chained Exceptions appeared in JDK 1.4, adding a new capability in other base libraries.
  • Logging (java.util.logging) appeared in JDK 1.4, adding a new capability in other base libraries.
  • NIO (New I/O) appeared in JDK 1.4, adding a new capability in other base libraries.
  • Preferences API appeared in JDK 1.4, adding a new capability in other base libraries.

lang and util Base Libraries

  • java.nio appeared in JDK 1.4, adding a new capability in lang and util base libraries.
  • java.util.logging appeared in JDK 1.4, adding a new capability in lang and util base libraries.
  • java.util.prefs appeared in JDK 1.4, adding a new capability in lang and util base libraries.
  • java.util.regex appeared in JDK 1.4, adding a new capability in lang and util base libraries.

User Interface Toolkits

  • Image I/O appeared in JDK 1.4, adding a new capability in user interface toolkits.
  • Java 2D was updated in JDK 1.4, showing active movement in user interface toolkits.
  • Swing was updated in JDK 1.4, showing active movement in user interface toolkits.
  • JavaSound carried forward from JDK 1.3 and settled into the baseline by JDK 1.4.
Matrix slice

Quick comparison table: JDK 1.3 vs JDK 1.4

This side-by-side view turns the source evolution matrix into a faster way to see which language, tooling, runtime, and platform layers moved between these two releases.

Area Component JDK 1.3 JDK 1.4 Why it stands out
Integration Libraries XML / JAXP Not present NEW XML / JAXP appeared in JDK 1.4, adding a new capability in integration libraries.
JVM: Execution Engine & GC Parallel GC Not present NEW Parallel GC appeared in JDK 1.4, adding a new capability in jvm: execution engine & gc.
Java Language Features assert keyword Not present NEW assert keyword appeared in JDK 1.4, adding a new capability in java language features.
Other Base Libraries Chained Exceptions Not present NEW Chained Exceptions appeared in JDK 1.4, adding a new capability in other base libraries.
Other Base Libraries Logging (java.util.logging) Not present NEW Logging (java.util.logging) appeared in JDK 1.4, adding a new capability in other base libraries.
Tools & Tool APIs xjc (JAXB) Not present NEW xjc (JAXB) appeared in JDK 1.4, adding a new capability in tools & tool apis.
User Interface Toolkits Image I/O Not present NEW Image I/O appeared in JDK 1.4, adding a new capability in user interface toolkits.
lang and util Base Libraries java.nio Not present NEW java.nio appeared in JDK 1.4, adding a new capability in lang and util base libraries.
lang and util Base Libraries java.util.logging Not present NEW java.util.logging appeared in JDK 1.4, adding a new capability in lang and util base libraries.
Deployment Java Web Start Not present UPD Java Web Start was updated in JDK 1.4, showing active movement in deployment.
Integration Libraries JDBC 3.0 Not present UPD JDBC 3.0 was updated in JDK 1.4, showing active movement in integration libraries.
User Interface Toolkits Java 2D Present UPD Java 2D was updated in JDK 1.4, showing active movement in user interface toolkits.
JVM: Execution Engine & GC HotSpot JIT Not present Present HotSpot JIT appeared in JDK 1.4, adding a new capability in jvm: execution engine & gc.
Deployment Java Web Start (beta) NEW Present Java Web Start (beta) carried forward from JDK 1.3 and settled into the baseline by JDK 1.4.
Structured comparison

Grouped reading of the release shift

~2700 classes. First JCP release. NIO changes Java I/O permanently.

Other Base Libraries
New in JDK 1.4
  • Chained Exceptions
  • Logging (java.util.logging)
  • NIO (New I/O)
  • Preferences API
  • Regular Expressions
Updated by JDK 1.4
  • Networking + IPv6
  • Security (JAAS/JSSE)
lang and util Base Libraries
New in JDK 1.4
  • java.nio
  • java.util.logging
  • java.util.prefs
  • java.util.regex
  • javax.xml
Updated by JDK 1.4
  • java.net
  • java.security
  • javax.naming
User Interface Toolkits
New in JDK 1.4
  • Image I/O
  • JavaSound
  • Print Service
Updated by JDK 1.4
  • Java 2D
  • Swing
Historical platform profile

Release narrative

NIO, Regex, Logging, JAXP, Preferences API, assert keyword, IPv6, Image I/O. First release under JCP (JSR-59). Chained Exceptions.

~2700 classes. First JCP release. NIO changes Java I/O permanently.

NIORegexLoggingJAXP (XML)Preferences APIJAAS
Why it mattered later

Why JDK 1.4 matters in the JDK timeline

This release fits into the steady JDK cadence where tooling, runtime behavior, and delivery capabilities evolve one step at a time.

  • JDK 1.4 sits in the timeline as a major milestone, which shaped how teams evaluated and adopted it.
  • It is commonly remembered for NIO, Regex, Logging.
  • Compared with JDK 1.3, it gives a clearer picture of how the JDK platform was evolving release by release.
  • ~2700 classes. First JCP release. NIO changes Java I/O permanently.
Related pages

Continue through the platform story