Origin of Java in the development history of Java

  • 2020-05-10 18:07:32
  • OfStack

Java: general name for the Java programming language and Java platform, launched by Sun Microsystems in May 1995. Java is an object-oriented programming language for writing cross-platform applications. It was developed in the early 1990s by James gosling (James Gosling) and others who were working for sun Microsystems at the time. It was originally named Oak. With the rapid development of the Internet, Java has gradually become an important network programming language.

It has been 109 years since the first version of Java was created. Time is fleeting. After 19 years, in the timeline shown below, we can see that JDK has developed to version 1.8. During these 19 years, numerous products, technologies and standards related to Java were born. Now let's step into the time tunnel and review the development trajectory and historical changes of Java from the time when Java language was born.

In April 1991, the green project (Green Project), led by Dr. James Gosling, was launched to develop a programming architecture capable of running on a variety of consumer electronics products (e.g., set-top boxes, refrigerators, radios, etc.). The product of this program was the predecessor of the Java language: Oak (oak). At that time, Oak was not successful in the consumer goods market. However, with the rise of the Internet trend in 1995, Oak quickly found the most suitable market positioning and transformed into Java language.

On May 23, 1995, the Oak language was renamed Java and Java version 1.0 was officially released at the SunWorld conference. For the first time in Java language, the slogan "Write Once, Run Anywhere" was introduced.

On January 23, 1996, JDK 1.0 was released, with the first official version of the Java language running environment. JDK 1.0 provides a pure interpreted implementation of the Java virtual machine (Sun Classic VM). The representative technologies of JDK version 1.0 include: Java virtual machine, AWT, and so on.

In April 1996, the 10 leading operating system vendors announced plans to embed Java technology in their products. In September of the same year, about 83,000 web pages had been created using Java technology. At the end of May 1996, Sun held its first JavaOne conference in San Francisco, USA. Since then, JavaOne has become an annual technical event for millions of Java language developers around the world.

On February 19, 1997, Sun released JDK 1.1. Some of the most basic support points of Java technology (such as JDBC, etc.) were all released in JDK 1.1. The technical representatives of JDK 1.1 are: JAR file format, JDBC, JavaBeans, RMI. The Java syntax also has a definite development, such as inner classes (Inner Class) and reflections (Reflection).

By April 8, 1999, a total of 1.1.0 to 1.1.89 versions of JDK 1.11 had been released. From 1.1.4 onwards, each JDK version has its own name (project code) : JDK 1.1.4-Sparkler (gem), JDK 1.1.5-Pumpkin (pumpkin), JDK 1.1.6-Abigail (Abigail), JDK 1.1.7-Brutus (Pluto, Roman political and general) and JDK 1.1.8-Chelsea (Chelsea, city).

On December 4, 1998, JDK ushered in a milestone version of JDK 1.2, code-named Playground (arena). In this version, Sun split the Java technical system into three directions, J2SE (Java 2 Platform, Standard Edition) for desktop application development and J2EE (Java 2 Platform) for enterprise development. Enterprise Edition) and J2ME (Java 2 Platform, Micro Edition) developed for mobile terminals such as mobile phones. There are many representative technologies in this version, such as EJB, Java Plug-in, Java IDL, Swing, Java, Swing, Java, Java, Java, Java, Java, Time, Java, Java, Time, JDK 1.2. Classic VM, HotSpot VM and Exact VM, among which Exact VM only appears on Solaris platform; The latter two VMS are built with the JIT compiler built in, whereas the previous version of Classic VM used the JIT compiler only in a hung form). At the language and API levels, Java adds the strictfp keyword to the 1 series Collections collection class, which is now most commonly used in Java encodings.

In march and July 1999, two smaller versions of JDK 1.2.1 and JDK 1.2.2 were released, respectively.

On April 27, 1999, the HotSpot virtual machine was launched. HotSpot was originally developed by a small company called "Longview Technologies", which was acquired by Sun in 1997 due to the excellent performance of HotSpot. The HotSpot virtual machine was released as an add-on to JDK 1.2 and later became the default virtual machine for JDK 1.3 and all subsequent versions of Sun JDK.

On May 8, 2000, the project code-named Kestrel kestrels (America) JDK release 1.3, 1.3 relative to the JDK JDK 1.2 improvements in 1 some libraries (such as math and new Timer API, etc.), since 1.3 JDK JNDI service is as one platform level service (formerly JNDI is only 1 item extension), using CORBA IIOP to implement RMI communication protocols, and so on. This version also makes a number of improvements to Java 2D, providing a large number of new Java 2D API and adding the JavaSound class library. There is a modified version of JDK 1.3.1 for JDK 1.3, code-named Ladybird (ladybug), released on 17 May 2001.

Since JDK 1.3, Sun has maintained the habit of releasing a major version of JDK, named after an animal, approximately every two years, while various revisions have been released with insects as the project's name.

On 13 February 2002, JDK 1.4 was released, project code Merlin (gray-backed falcon). JDK 1.4 is a mature version of Java. Compaq, Fujitsu, SAS, Symbian, IBM and other famous companies have participated in and even realized their own independent JDK 1.4. Even more than a decade later, there are still many mainstream applications (Spring, Hibernate, Struts, etc.) that run directly on JDK 1.4, or continue to release versions that run on JDK 1.4. JDK 1.4 has also released a number of new technical features, such as regular expressions, exception chains, NIO, log classes, parsers, and XSLT converters.

There are two subsequent revisions to JDK 1.4:
The project code JDK 1.4.1 issued on 16 September 2002 is Grasshopper (grasshopper)
JDK 1.4.2, engineering code Mantis (mantis), issued on 26 June 2003.

Around 2002, there was another event that was not directly related to Java, but in fact had a significant impact on the development of Java, and that was the release of Microsoft's. NET work. This technology platform, which has many similarities with Java both in terms of technology implementation and target users, has brought a lot of discussion, comparison and competition to Java. The huge debate between NET platform and Java platform has continued so far.

On 30 September 2004, JDK 1.5 was released, project code Tiger (tiger). Since JDK 1.2, the transformation of Java at the grammar level has been very small, while JDK 1.5 has made great improvements in the ease of use of Java grammar. For example, syntax features such as autoboxing, generics, dynamic annotations, enumerations, variable length parameters, and traversal loops (foreach loops) were added in JDK 1.5. At the virtual machine and API level, this version improves the memory model of Java (Java Memory Model, JMM), provides java util concurrent and sends out packages, etc. In addition, JDK 1.5 is the last version of JDK officially available on the Windows 9x platform.

Released on 11 December 2006, JDK 1.6, project code Mustang (mustang). In this version, Sun ends J2EE, J2SE, J2ME, Java SE 6, Java EE 6, Java ME 6, Java EE 6, Java ME 6, Java EE 6, Java ME 6. Improvements to JDK 1.6 include dynamic language support (via the built-in Mozilla Java Rhino engine), API compilation and API micro HTTP servers, and more. At the same time, this version of Java virtual machine has made a lot of internal improvements, including locking and synchronization, garbage collection, class loading and other aspects of the algorithm has a lot of changes.

At the JavaOne conference on 13 November 2006, Sun announced that it would finally open source Java, and over the next year or so, GPL v2 (GNU General Public License v2) began to release the source code of various parts of JDK under the GPL GNU General Public License v2 agreement, and established the OpenJDK organization to manage the source code independently. In addition to a very small number of property code (Encumbered Code, most of which Sun has no permission to open source), OpenJDK contains almost all the code of Sun JDK. The quality supervisor of OpenJDK once stated that in JDK 1.7, Sun JDK and OpenJDK are basically identical except for the copyright comments in the header of the code file. So OpenJDK 7 and Sun JDK 1.7 are essentially products of the same code base.

Since the release of JDK 1.6, Sun has spent a lot of resources on things other than the development of JDK due to the increase of code complexity, the open source of JDK, the development of JavaFX, the economic crisis and the acquisition of Sun, etc. The update of JDK did not maintain the development speed of one major version released in two years. JDK 1.6 a total of 37 Update versions have been released so far. The latest version, Java SE 6 Update 37, was released on October 16, 2012.

On 19 February 2009, the first milestone version of JDK 1.7, code-named Dolphin (dolphin), was completed. According to the functional plan of JDK 1.7, 1 sets a total of 10 milestones. The final milestone version was originally scheduled to be completed on September 9, 2010, but due to various reasons, JDK 1.7 was ultimately not completed as planned.

From JDK 1.7 started the functions of planning, it should be 1 contains many important improvements JDK version, the Lambda project (Lambda expression, functional programming), Jigsaw project modular support (virtual machine), a dynamic language support, GarbageFirst collector and Coin project (language evolution for details) for DengZi project Java industry will have far-reaching influence. During the development of JDK 1.7, Sun was bogged down in technical competition and commercial competition, and its stock market value dropped to only 3% of the peak period, so it was unable to promote the r&d work of JDK 1.7 as planned. In order to put an end to the long-term "jump" problem of JDK 1.7, soon after the acquisition of Sun, Oracle announced that it would implement the "B plan", significantly cutting the target of JDK 1.7, so as to ensure that the official version of JDK 1.7 could be released on time on July 28, 2011. The "B plan" delays some improvements to Lambda, Jigsaw and Coin projects that cannot be completed on time to JDK 1.8. Finally, major improvements to JDK 1.7 include the availability of a new G1 collector (G1 was still in the Experimental state when it was released, and was officially "made" in Update 4 in April 2012), enhanced support for calls to non-Java languages (JSR-292, a feature that has not yet been fully finalized), and upgrades to the classloading architecture.

To date, JDK 1.7 has been released in nine Update versions, with the latest Java SE 7 Update 9 being released on October 16, 2012. Starting with Java SE 7 Update 4, Oracle supports the Mac OS X operating system, and is fully supported in Update 6. ARM instruction set architecture is also supported in Update 6. So far, the official JDK can run on Windows (Windows 9x), Linux, Solaris and Mac OS platforms, and support ARM, x86, x64 and Sparc instruction set architecture types.

On April 20, 2009, Oracle announced the acquisition of Sun for $7.4 billion. The Java trademark has since been officially owned by Oracle (the Java language itself is not owned by any company, but is managed by JCP, although JCP is primarily led by Sun or Oracle). After Oracle company has bought another 1 large middleware enterprise BEA companies, upon completion of the acquisition of Sun, Oracle companies from BEA and Sun achieved at present in two of three commercial virtual machine: JRockit and HotSpot Oracle announced in the coming 1 ~ 2 years' time, will put the two good virtual machines complement each other, each other finally 2 to 1. It is foreseeable that the Java virtual machine technology will change a lot in the near future.

On 28 July 2011, Oracle released Java SE 1.7

On March 18, 2014, Oracle published Java SE 1.8

The Java language is simple, object-oriented, distributed, interpreted, robust, secure, architecturally neutral, portable, high-performance, multithreaded, and dynamic.


Related articles: