Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Java IoT, IBM Cloud, Weblogic

Java IoT: Article

2005 Marks Ten Years of Java Technology

Calvin Austin Steps Back In Time and Tracks Java's Course

This year will mark the tenth anniversary of the official launch of Java technology. It seems like only yesterday. No doubt there will be celebrations similar to the five-year anniversary, so I thought I would take this opportunity to step back in time and track Java's course.

In January 1996, less than a year before that first launch, the first full developer kit, JDK 1.0.2, was released. This was my first experience of the Java platform. Like many other developers I had been using C and C++ and myriad third-party libraries. Suddenly the ease with which anyone could build a UI, or a web applet, and make an application both thread- and networking-aware was exciting. I attended the first JavaOne in 1996 and it captured that energy, even with only 6000 attendees it was a sellout. Sessions overflowed, handouts disappeared in minutes, and were never to re-appear at any JavaOne conference again; many speakers were overwhelmed by speaking to a large conference for the first time.

The JDK 1.1 release appeared a year later and bumped along by way of maintenance updates for many years, finally ending with 1.1.8.

Some of you may remember that the only browser that initially supported 1.1 was Sun's own Hotjava browser. This lag in support for the latest runtime would lead to the modular Java Plugin and Java Web Start technology.

JDK 1.1 also introduced JDBC, RMI and the JavaBean model. The JavaBean component model, while introducing the powerful getter/setter pattern to the Java platform, also introduced the infamously deprecated methods in AWT. To move to the JavaBean pattern with as little risk as possible, AWT code that needed updating simply called the deprecated methods, which made removing them later unlikely. AWT also introduced the event-delegation pattern that would be heavily used by another step on the Java roadmap, the Swing project.

Project Swing, or the JFC components, had a parallel release train before being integrated into the JDK. Anyone remember com.sun.swing? The Netscape browser team already had a technology called IFC that Netscape had acquired and this was used as the basis for JFC. JFC was a pure Java graphical toolset and required a little support from AWT. However, the amount of work required was huge. Essentially anyone who was working on AWT was moved to JFC and Swing, All new development for features like accessibility and full drag-and-drop were earmarked for Swing only. The next step was to merge the Swing code base into JDK 1.2.

JDK 1.2 was supposed to be called JDK 2.0. Since its release was close to the millennium, even Java 2000 was considered. The naming discussions resulted in Java 2 version 1.2. The release didn't just include Project Swing, but it did include the Collections API, a new Java 2D rendering engine and a new sound engine. The last two technologies were adapted from existing third-party products and their integration put a strain on the release process. Some of the bugs introduced by this integration weren't fixed until the 1.4 maintenance releases and J2SE 5.0

Most developers have probably forgotten 1.2.1. It was a short-lived security bug fix. The true maintenance bug fix was 1.2.2. JDK 1.2.2 was also the first time Sun released a JVM port on Linux. The JVM itself was called the classic JVM and used a JIT compiler.

Waiting in the wings was the Hotspot JVM. Sun had acquired the technology that was used to power Smalltalk and had spent a lot of cycles getting it release-ready.

Unlike the JIT compiler, the Hotspot product was a full JVM in its own right. It used native operating system threads, where the classic JVM could also use the userspace threads called green threads and introduced new garbage allocation techniques, finer thread management and faster monitor locks.

J2SE 1.3 was released in 2000 and introduced the Hotspot JVM on all platforms. With such a fundamental change, it took until 1.3.1 for the JVM to be supported by all the tool interfaces.

The last five years are fresher in everyone's memory. J2SE 1.4 arrived in 2002, and introduced NIO, Java Web Start, a 64-bit JVM and Swing focus, performance tweaks and the logging API. It was followed by the 1.4.1maintenance release, which previewed an Itanium port and new garbage collectors. J2SE 1.4.2 brought the 1.4 release train into the station.

This brings us to the present times with J2SE 5.0. J2SE 5.0 focuses on improved startup time, new language features and system monitoring and improved product quality.

The Java platform has certainly come a long way in 10 years, but I'm sure you'll agree it's been an interesting ride.


  • http://java.sun.com/features/2000/06/time-line.html

    More Stories By Calvin Austin

    A section editor of JDJ since June 2004, Calvin Austin is an engineer at SpikeSource.com. He previously led the J2SE 5.0 release at Sun Microsystems and also led Sun's Java on Linux port.

    Comments (10) View Comments

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

    Most Recent Comments
    Calvin Austin 03/23/05 04:25:37 PM EST

    Yes webrunner was the original internal project name for the original browser. I was lucky to get a copy internally in 1995. I wasn't involved in the renaming but they would have done a trademark search at some point

    HotJava 03/18/05 07:12:11 AM EST

    Java used to be Oak but what was the HotJava web browser first called, wasn't it WebRunner? Whatever happened to that name?

    from tiny acorns 03/18/05 06:44:43 AM EST

    ### "Project Oak" seems like just yesterday. ###

    Check out the useful history of Oak (and of the Green Project that spawned it) at http://today.java.net/jag/old/green/

    Another major byproduct of the Green project was a little cartoon character named "Duke" - invented and drawn by Joe Palrang.

    J-History 03/18/05 06:23:01 AM EST

    [[[ The Java platform has certainly come a long way in 10 years, but I'm sure you'll agree it's been an interesting ride. ]]]

    10 years! Where does the time go?! "Project Oak" seems like just yesterday.

    webdevguy 03/17/05 07:30:46 PM EST

    HAPPY BIRTHDAY JAVA! may your offspring be open source and free.

    Jonathan Bruce 03/14/05 10:19:30 AM EST

    Nice article Calvin - I remember working on JDK for the first time when I started with Sun in '98 working on the JNDI API and it's LDAP, COSNaming and RMI provider.

    It is interesting to review this history, and I too remember the start-up feel that was the buzz of the Cupertino office. I think now it is important to recognize the maturity of the Java 5.0 platform and how in the future the outside in view developers have of Java 6.0 should trigger early adoption of the new platform. As a fellow Sun retiree, I remain invested in the continued success of the Java platform.

    -Jonathan Bruce
    Technology Evangelist - XQuery

    Calvin Austin 03/12/05 11:59:31 PM EST

    Thanks for the comments Alex. Swing was used as a catch all term inside Sun although officially the set of components, including Swing were JFC (there was no JFC team per say)

    One other reason for Java 2 was the change in licensing, anyone could sign up to port JDK 1.x to any platform for research use. With Java 2 you had to agree to the SCSL terms instead.

    Alex Blewitt 03/12/05 08:23:51 AM EST

    JFC was the Java Foundation Components, and contained more than just Swing; JFC contained what became the standard Collections classes introduced in Java 2, and other improvements in text/message formatting from IBM.

    Java 2 was created as a marketing name in 1999 to make businesses aware that it was a language ready for prime-time application use. Before then, the only serious contender for 'real' applications was the Corel package for word-processing, that died a death because they just translated C++ code into Java code, without doing any kind of redesign to suit Java's garbage collection model sufficiently.

    Java 2 was also the start of Sun's inconsistent naming conventions. Java 1.1.1 through 1.1.8 was sensible enough; but Sun didn't want people to know about how many bugfixes/releases (or compatibility issues) were given out; hence, we now have 1.2.1, and 1.2.2, 1.2.2_01b7... even now, my JVM is listed as 1.4.2_05-141.4. It was also crazy when they went to 1.3 that it was still called Java 2, due to the marketing people; it also explains why we're going from 1.4 to 5.0 -- a feat normally matched by Microsoft products.

    If we're really going down memory lane, early Java adoptees will know that when you've got a UI application, simply closing the last window would automatically terminate the application. This stopped in 1.2 when a programming bug introduced in the event handling system for Swing prevented the application terminating without a call to System.exit(), something that has now become synonymous with the way applications are written. (The long-time bug number 4030718 lists it as being open all the way through to 1.4, despite me showing that (a) it was fixable, and (b) I wrote a demo app that re-wrote the classes.zip to fix the bug to demonstrate it).

    In short, Java is/was an excellent idea for its time, and thanks to the explosive birth of the internet, made a good launchpad to today's computer use. It's just a shame that Sun is an excellent innovation company, and not a marketing or collaborative company, because Java will ultimately fail because of them. It 10 years time, we'll have a more open programming language either managed by the Apache Software Foundation or (more likely) the Eclipse foundation that will be the de-facto standard. Just as long as it's not C#.

    Calvin Austin 03/11/05 07:19:39 PM EST

    You are right, I meant garbage collection. You could make a case for the gc shuffling between old and new space as allocation though

    B. Smith-Mannschott 03/11/05 03:05:41 PM EST

    QUOTE: [java 1.2.2] ... introduced new garbage **allocation** techniques

    ... yea, programming in java feels that way on bad days, but I'm sure that's not what you meant.

    @ThingsExpo Stories
    In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
    "There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
    Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
    Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
    "Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
    "IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
    SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
    It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
    WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
    A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
    SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
    Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
    To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
    An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...
    When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things’). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing? IoT is not about the devices, it’s about the data consumed and generated. The devices are tools, mechanisms, conduits. In his session at Internet of Things at Cloud Expo | DXWor...