Java Collections Framework - Its history Introduction On the invention of Java, the only data construction support built into the core libraries were involved arrays, vectors (essentially dynamically-sized arrays), and hash tables (for key-value pairs). Support for such key data structures as balanced trees, generic bags of objects, and priority queues didn't exist, but could certainly be created. Thus, many developers added their own structures to the libraries. And it was the beginning period. Here, in this article, we view about the history, especially, the review of some of those early attempts, how they evolved with Sun Microsystems' release of the Java Collections Framework, and how the Java Collections Framework is changing with the evolution of the early and later attempts at filling users' needs for data structure support. History At the initial alternative data structure collections , Doug Lea, who serves on the faculty at the State University of New York at Oswego, probably created the first most widely used collection (see Resources). It (collections) was released into the public domain in nineteen ninety five. Slow transition That was the time, when many early Java developers were transitioning from the C++ world. These developers had worked with the Standard Template Library (STL) and found the original Java core libraries severely lacking in algorithm and data structure support. Having come from the C++ and STL worlds, a company called Object Space decided to port the STL to Java. The resulting Java Generic Library (JGL) was released in June Nineteen ninety six, but Sun's legal department didn't like the name. Object Space consequently renamed it the Generic Collection Library for Java, but the JGL acronym wedged. Java Generic Library JGL was a popular offering for some time though rather large. Through various marketing efforts, Object Space convinced 10 IDE tool vendors to package the library with their tools. Object Space claimed their user base was more than 100,000. At the time, the number of Java developers was nowhere near seven figures yet. JGL became a de facto standard during Java's early days. After a few revisions, including dividing a single package into sub packages and integrating with Object Space's Voyager Object Request Broker (ORB) product, JGL 3.1 was released in the fall of nineteen ninety seven. Beginning of J2SE By the imminent beginning of J2SE (Java 2 Platform, Standard Edition) 1.2 and its changes to the world of data structure support, Doug Lea abandoned his collections package and started work on a second library of utility classes. This new package was designed to improve concurrent or multithreaded access to various data structures. Released in July 1998, these classes were called util.concurrent and offered locking, pooling, and synchronized entrance shore up. |