Java development history

JDK 1.0

In April 1991, The green project, led by Dr. James Gosling, began to develop a program architecture that can run on various consumer electronic products (such as set-top boxes, refrigerators, radios, etc.). The product of this program is the predecessor of Java language: oak (oak). Oak was not successful in the consumer goods market at that time, but with the rise of the Internet trend in 1995, oak quickly found the market position most suitable for its own development and transformed into a java language.

On May 23, 1995, oak language was officially renamed Java. The slogan "write once, run anywhere" was put forward for the first time. This day is also known as the birth day of Java.

JDK 1.0 was released on January 23, 1996. Representative technologies include Java virtual machine (Sun classic VM), applet, AWT, etc.

In April 1996, the 10 leading operating system vendors announced that they would embed Java technology in their products.

In May 1996, sun held the first JavaOne conference in San Francisco, USA.

In September 1996, about 83000 web pages were made using Java technology.

JDK 1.1

On February 19, 1997, JDK 1.1 was released. Representative technologies include jar file format, JDBC, JavaBeans, RMI, internal classes, reflection, etc.

JDK 1.1 has released a total of 1.1 0 - 1.1. 8 nine versions, from 1.1 After 4, each JDK version has its own code:

In February 1998, JDK 1.1 was downloaded more than 2000000 times.

JDK 1.2 (Playground - arena)

JDK 1.2 was released on December 4, 1998. This version divides the Java technology system into three parts, namely J2SE (for desktop application development), J2EE (for enterprise development) and J2ME (for mobile terminal development). Representative technologies include EJB, Java plugin in, Java IDL, swing, built-in JIT compiler, collections collection class, etc.

JDK 1.2 has two revisions:

JDK 1.3 (kestrel - kestrel)

On May 8, 2000, JDK 1.3 was released. Since this version, hotspot has become the default virtual machine of JDK. The representative technologies include JNDI, timer, Java 2D, javasound, mathematical operation, etc.

JDK 1.3 has a revised version:

On June 5, 2001, Nokia announced that it would sell 100 million Java enabled mobile phones by 2003.

JDK 1.4 (Merlin - Grey backed Falcon)

On February 13, 2002, JDK 1.4 was released, which is a version of Java that is really mature. Representative technologies include regular expression, exception chain, NiO, log class, XML parser and XSLT converter.

JDK 1.4 has two revisions:

JDK 1.5 (Tiger - Tiger)

JDK 1.5 was released on September 30, 2004. Representative technologies include automatic boxing, generics, dynamic annotation, enumeration, variable length parameters, enhanced for loop, etc. This version also improves Java's memory model and provides Java util. Concurrent concurrent packages, etc.

On November 13, 2006, sun announced that it would eventually open source Java. In the following year, it successively disclosed the source code of various parts of JDK under the GPL V2 protocol, and established the openjdk organization to manage these source codes independently. (the official open source version is JDK 6)

JDK 6 (Mustang - Mustang)

JDK 6 was released on December 11, 2006. From this version, the titles of J2SE, J2EE and J2ME will not be used, and the naming methods of Java se, Java EE and java me will be enabled. In addition, the public version number of JDK has become the naming method of JDK 6 and JDK 7, while the development version number (Java version) used internally by programmers continues to use the names of 1.6 and 1.7.

The representative technologies of JDK 6 include dynamic language support (implemented through the built-in Mozilla JavaScript rhino engine), compilation API and micro HTTP server API. At the same time, this version has made a lot of improvements to the Java virtual machine, including considerable changes to the algorithms of locking and synchronization, garbage collection, class loading and so on.

On January 16, 2008, Oracle acquired bea and acquired the ownership of JRockit virtual machine.

JDK 7 (Dolphin - Dolphin)

On February 19, 2009, JDK 7 was released. The main improvements include: providing a new G1 collector, upgrading the class loading architecture, fork / join framework, etc.

On April 20, 2009, Oracle acquired sun and acquired the ownership of hotspot virtual machine. However, the Java language itself does not belong to any company. It is organized and managed by JCP (Java community process). JCP was mainly led by Sun company before, but now it is mainly led by Oracle, that's all.

In December 2010, the Apache foundation angrily withdrew from JCP because of the growing TCK licensing problem of its harmony virtual machine and Oracle, which is also the biggest split in the history of Java.

JDK 8 (spider - Spider)

On March 18, 2014, JDK 8 was released, which is another milestone version. Representative technologies include lambda expression, functional programming, stream API, new time types, etc.

JDK 9

In August 2017, Oracle announced that it would transfer Java EE to the open source camp. A month later, Oracle transferred Java EE to the eclipse foundation, and Oracle continued to support the existing Java EE license. However, Oracle does not allow open source organizations to use the name of Java, so eclipse chose "Jakarta EE" and "enterprise profile", and the former won by 64.4%. In other words, Java EE has been officially renamed Jakarta EE and Java community process has been renamed eclipse EE next Working Group。

In September 2017, JDK 9 was released, adding two versions of jigsaw modularization, repl (read Eval print loop) tool jshell, enhanced stream API, etc.

In September 2017, Oracle announced that in order to iterate faster and follow up community feedback, the release cycle of java was changed to release a large version every six months and an intermediate feature version every quarter, and promised not to skip the ticket. In this way, the development team can incorporate some key features into the JDK as soon as possible to quickly get developer feedback. According to the official statement, the new release cycle will strictly follow the time point and will be released in March and September every year. In fact, programmers don't have to scratch their heads and ears for the frequently released JDK version. Oracle only supports and updates the JDK version of lts (long term support, LTS) for three years. The ordinary JDK has only a short six-month life cycle. JDK 8 ઼ and JDK 11 will be the LTS version, and the next lts version will be JDK 17 in 2021.

JDK 10

On March 20, 2018, JDK 10 was released. The main R & D goal of this version is internal reconfiguration, such as unified source warehouse, unified garbage collector interface, unified real-time compiler interface (jvmci already exists in JDK 9, here is the introduction of a new Graal real-time compiler), etc.

On March 27, 2018, the Java infringement case of Android was finally decided. The court ordered Google to compensate Oracle for a total of $8.8 billion. You know, Oracle only spent $7.4 billion on acquiring sun in 2009.

JDK 11

On September 25, 2018, JDK 11 was released, which is the first long-term supported version since Java 8, including revolutionary garbage collectors such as ZGC. Representative technologies include local variable type inference (VaR), stream enhancement, string enhancement, HTTP client API, etc.

In September 2018, with the release of JDK 11, another influential news was Java charging. Oracle has opened source all previous commercial features to openjdk since jdk11, so that the codes and functions of openjdk 11 and Oracle jdk11 are identical in essence. Then Oracle announced that it would release two jdks at the same time: one is openjdk released under gplv2 + CE protocol; The other is the traditional Oracle JDK issued under the new OTN protocol. The two jdks share most of the source code and are almost the same in function. The core difference is that the former can be used in the development, testing or production environment free of charge, but only supported by updates for half a year; The latter can still be used by individuals for free, but if it is used commercially in a production environment, it must be paid, and there can be three years of update support.

In October 2018, JavaOne 2018 was held in San Francisco. No one expected that this would be the last JavaOne conference.

JDK 12

In February 2019, rethat took over the management power and maintenance responsibilities of openjdk8 and openjdk11 from Oracle. Oracle is unwilling to continue to consume resources on the old version, and red hat or IBM behind it is willing to expand its influence in the Java community, which is a win-win transaction.

On March 19, 2019, JDK 12 was released. The main features include: switch supports expressions Java Microtest Suite (jmh and other functions). The most striking feature is undoubtedly the addition of the Shenandoah garbage collector developed by RedHat. As the first garbage collector developed by non Oracle, Shenandoah's goal is almost exactly the same as that of ZGC released in oraclejdk 11. There is competition between the two. Oracle immediately resisted this new collector, JDK 1 1 at the time of release, it was said that the compatibility and consistency between oraclejdk and openjdk should be guaranteed as much as possible. In the twinkling of an eye, Shenandoah's code was forcibly removed through conditional compilation in oraclejdk 12, making it the only function in history that entered the openjdk release list but could not be used in oraclejdk.

JDK 13

On September 13, 2019, JDK 13 was released. Its main features include: re implementing the traditional socket API, preview version of switch expression, enhancing ZGC, returning unused heap memory to the operating system, etc.

JDK 14

On March 17, 2020, JDK 14 was released. The main features include: the final version of switch expression, enhanced ZGC collector support for window / Mac, abandoning the GC combination of parallelscape + serialold, etc.

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>