Continuing The 8 Nights of Java series, tonight we focus on one of the most monumental, enormous, earth-shattering… no wait, we’re talking about Java 1.3 aren’t we? Java 1.3 has a number of important implementation and JRE changes but from a developer standpoint, very few new features. In retrospect, Java 1.3 was important as helping to make Java more stable and set up some of the hooks that later versions of Java would tie into, but in and of itself, was kind of a minor release.
Java 1.3 Notable Features
Sun brought in the new millennium with Java 1.3 (codename Kestrel), released on May 8, 2000. Key new functionality included:
- Hotspot JVM
I’ll be honest, there’s not much in Java 1.3 that find particularly interesting. Yes, JNDI is important but it’s not very exciting and wasn’t really relevant until J2EE servers started becoming commonplace years later. The Hotspot JVM was also important for production and deployment, but did not change how developers wrote code since the change was on the JRE side of things. In other words, Java 1.3 was a bit of a bore. Luckily the next few “nights” of Java more than make up for it!
My personal experience with Java 1.3 wasn’t completely uneventful, though. I took my first database applications course, CS433, back in college around this time. Our task was to design a database-driven web-based system. Because my school had been extremely heavy on theory, it was the first time we could really ‘cut loose’ and build something fun that people could use. We chose to build an toy auction website powered by Java 1.3, JSPs served by Tomcat, and an IBM DB2 SQL database. My two other teammates and I had so much fun in the course! For extra credit, we decided to integrate our search functionality into eBay, parsing their results and transforming them with XSLT so that our results and their results appeared side-by-side. It was a wonderful time and in hindsight, probably set the foundation for the rest of my Java career!
I was still in college when this was released. In fact, I had just started learning Java in 1999.. In summer 2001, I had my first paid job (internship) that used Java. (It was my second internship, but the first used C++.) My main task was using XSLT to generate webpages. I got a fast appreciation for JSPs from that job. Using XSLT added another level of abstraction and another way of thinking while trying to make web pages.
While there wasn’t anything new I cared about at the time, that was because I didn’t know enough. I’m thankful for it though. JNDI is really useful when writing code that runs on a server. I can’t imagine not being able to register a DataSource or JMS queue through JNDI. I imagine some other standard would have arisen to fill the gap if JNDI wasn’t invented.