Java: A generic term for the Java programming language and Java platform, which was launched by Sun Microsystems in May 1995. The Java language, an object-oriented programming language that can compose Cross-platform applications, was developed in the early 1990 by James Goslin (James Gosling), a solar micro-system, originally named Oak. With the rapid development of the Internet, Java has gradually become an important network programming language.
It has been 19 years since Java was born from the first version. Time is fleeting, fleeting. 19 years later, in the timeline shown in the following illustration, we see that the JDK has developed to version 1.8. Over the past 19 years, countless Java-related products, technologies and standards have been created. Now let's go into the time tunnel, starting with the time that spawned the Java language, and looking back at the development trajectory and historical changes of Java.
The green project, led by Dr. James Gosling, started in April 1991 with the aim of developing a program architecture that could run on a variety of consumer electronic products, such as set-top boxes, refrigerators, radios, and so on. The product of this program is the predecessor of the Java language: Oak (oak). Oak was not successful in the consumer goods market, but with the rise of the 1995 Internet trend, Oak quickly found the most suitable for their own development of the market positioning and transformation into a Java language.
May 23, 1995, the Oak language was renamed Java, and the Java 1.0 version was officially released at the Sunworld convention. The Java language first presented the slogan "Write once,run Anywhere".
January 23, 1996, JDK 1.0 released, the Java language has the first official version of the operating environment. JDK 1.0 provides a purely interpreted Java Virtual machine implementation (Sun Classic VM). The JDK 1.0 representative technologies include: Java virtual machines, AWT, and so on.
In April 1996, 10 of the most important operating system vendors stated that they would embed Java technology in their products. In September of that year, some 83,000 web pages had been used to produce Java technology. At the end of May 1996, Sun Company held its first JavaOne conference in San Francisco, and since then JavaOne became the annual technical event of millions of Java language developers worldwide.
On February 19, 1997, Sun released some of the most basic support points for JDK 1.1,java technology (such as JDBC), which were released in JDK version 1.1, and the JDK 1.1 technical representatives are: JAR file format, JDBC, JavaBeans, RMI. Java syntax has evolved in some cases, such as internal classes (Inner Class) and Reflection (Reflection), which occur at this time.
It was not until April 8, 1999 that JDK 1.1 released a total of nine versions of 1.1.0~1.1.8. After 1.1.4, each JDK version has its own name (engineering code): JDK 1.1.4-sparkler (GEM), JDK 1.1.5-pumpkin (pumpkin), JDK 1.1.6-abigail (Abigail, Woman's name), JDK 1.1.7-brutus (Brutus, Roman politician and general) and JDK 1.1.8–chelsea (Chelsea, city name).
December 4, 1998, the JDK ushered in a landmark version of JDK 1.2, project code-named Playground (Arena), sun in this version of the Java technology system split into 3 directions, respectively, for desktop application development J2SE (Java 2 Platform , Standard Edition, Java Java 2 Platform, Enterprise Edition) for enterprise-class development, and J2ME for mobile terminals such as mobile phones (2 Platform, Micro Edition). There are a number of representative technologies that appear in this release, such as EJB, Java Plug-in, Java IDL, swing, and so on, and the first time a Java virtual machine has a JIT (Just in) compiler built in this version (3 virtual machines have been installed in JDK 1.2. Classic vm, HotSpot VM, and exact VM, where the exact VM only appears on the Solaris platform; The following two virtual machines are built-in JIT compilers, and the Classic VM in previous versions can only use the JIT compiler in the form of plug-ins. At the language and API levels, Java adds a series of collections collection classes that are most commonly used in STRICTFP keywords and now Java coding.
In March 1999 and July, JDK 1.2.1 and JDK 1.2.22 iterations were released respectively.
April 27, 1999, hotspot virtual machine released, Hotspot was originally developed by a small company called "Longview Technologies", because of the excellent performance of hotspot, the company was acquired by Sun Company in 1997. The hotspot virtual machine was released as an add-on to JDK 1.2, and it became the default virtual machine for JDK 1.3 and later for all versions of the Sun JDK.
May 8, 2000, the project code-named Kestrel (Red Falcon) JDK 1.3 release, JDK 1.3 relative to JDK 1.2 of the improvements mainly in some class libraries (such as mathematical operations and the new timer API, etc.), Jndi services from the JDK 1.3 began to be provided as a platform-level service (formerly Jndi is just an extension), using CORBA IIOP to implement RMI communication protocols, and so on. This version also makes a lot of improvements to the Java 2D, provides a lot of new Java 2D APIs, and adds a new Javasound class library. JDK 1.3 has 1 revised versions of JDK 1.3.1, engineering code-named Ladybird (Ladybug), released on May 17, 2001.
Since JDK 1.3, Sun has maintained a habit of releasing a major version of the JDK every two years, named after animals, with bugs being the engineering names of the various revisions released during the period.
February 13, 2002, JDK 1.4 released, project code name is Merlin (Ash back Falcon). JDK 1.4 is a truly mature version of Java, with well-known companies such as Compaq, Fujitsu, SAS, Symbian, IBM, and so on, who are participating in and even implementing their own stand-alone JDK 1.4. Even today, more than 10 years later, there are still a number of mainstream applications (Spring, Hibernate, struts, etc.) that can run directly above JDK 1.4 or continue to release versions that run on JDK 1.4. JDK 1.4 also publishes a number of new technical features, such as regular expressions, exception chains, NIO, log classes, parsers, and XSLT converters.
JDK 1.4 has two follow-up revisions:
The project code-named Grasshopper (Grasshopper), September 16, 2002, was issued as a JDK 1.4.1
The June 26, 2003 issue of the project code-named Mantis (Mantis) JDK 1.4.2.
There was also an event that was not directly related to Java before and after 2002, but in fact it had a significant impact on the development process of Java, and that was the release of Microsoft's. NET work. This technology platform for both the technical implementation and the target user with many similarities to Java has brought a lot of discussion, comparison and competition to Java. The battle between the net platform and the Java platform has continued so far.
September 30, 2004, JDK 1.5 released, Project Code Tiger (Tiger). Since JDK 1.2, Java has been very small on the syntactic level, and JDK 1.5 has made a great improvement in the ease of use of Java syntax. For example, syntax features such as Auto boxing, generics, dynamic annotations, enumerations, variable-length parameters, traversal loops (foreach loops) are all added to JDK 1.5. At the virtual machine and API level, this version improves the Java memory model (Java Memory model,jmm), provides java.util.concurrent and contracts, and so on. In addition, JDK 1.5 is the last JDK version of the official declaration to support the Windows 9x platform.
December 11, 2006, JDK 1.6 released, Project Code Mustang (Mustang). In this release, Sun ended the 8-year history of Java EE, J2SE, and J2ME naming in the beginning of JDK 1.2, enabling the naming of java-based SE 6, Java EE 6, Java ME 6. Improvements to JDK 1.6 include providing dynamic language support (implemented via the built-in Mozilla Java Rhino engine), providing a compilation API, and a micro-HTTP Server API. At the same time, this version of the Java Virtual machine has made a lot of improvements, including locks and synchronization, garbage collection, class loading and other aspects of the algorithm are quite a lot of changes.
At the JavaOne conference on November 13, 2006, Sun announced that it would eventually open up Java, and in the next year or so, it would release the various parts of the JDK under the GPL v2 (GNU general public License v2) protocol, and the establishment of OPENJDK organizations to these source code for independent management. In addition to a very small number of proprietary codes (encumbered code, most of which sun itself has no access to open source processing), OpenJDK almost includes all the code for the Sun JDK, and OpenJDK's quality manager has said that in JDK 1.7, sun JDK and OPENJDK The code is essentially exactly the same except for the copyright notes of the code file header, so OpenJDK 7 and Sun JDK 1.7 are essentially products developed with the same set of code libraries.
After JDK 1.6 was released, due to increased code complexity, JDK open source, development javafx, economic crisis and Sun takeover, Sun spent a lot of resources on things beyond JDK development, and the JDK update did not last two years to release a major version of the development speed. JDK 1.6 has so far released 37 update versions, the latest version being Java SE 6 Update 37, released on October 16, 2012.
February 19, 2009, the project code-named Dolphin (Dolphin) JDK 1.7 completed its first milestone version. Based on the functional planning of JDK 1.7, 10 milestones are set up altogether. The final milestone version was scheduled to end on September 9, 2010, but for a variety of reasons, JDK 1.7 eventually failed to complete as planned.
From the first functional planning of JDK 1.7, it should have been a JDK version with many important improvements, including lambda projects (lambda expressions, functional programming), Jigsaw projects (virtual machine modular support), dynamic language support, Subprojects such as garbagefirst collectors and coin projects (language details Evolution) have a profound impact on the Java industry. During the JDK 1.7 development, the company's stock market value fell to only 3% of the peak period due to a succession of technical competition and commercial competition, and it has been unable to push JDK 1.7 's research and development work in the normal schedule. To quickly end JDK 1.7 's long "skip" issue, Oracle's acquisition of Sun Company announced shortly thereafter that it would implement "Plan B", drastically tailoring the JDK 1.7 target, in order to ensure that JDK 1.7 's official version can be released on July 28, 2011 on time. "Plan B" delays the partial improvement of lambda projects, jigsaw projects, and coin projects that cannot be completed in time to JDK 1.8. In the end, the main improvements to JDK 1.7 include the provision of a new G1 collector (G1 is still in experimental state at the time of release, until it is officially "positive" in Update 4 in April 2012), and enhanced invocation support for non-Java languages (JSR-292, This feature so far has not fully implemented stereotypes, upgrade class loading architecture, and so on.
So far, JDK 1.7 has released 9 update versions, and the latest Java SE 7 Update 9 was released on October 16, 2012. From Java SE 7 Update 4, Oracle began supporting the Mac OS X operating system and reached full support in Update 6, while also providing support for the arm instruction set architecture in Update 6. At this point, the official JDK can run on Windows (excluding Windows 9x), Linux, Solaris, and Mac OS platforms, supporting ARM, x86, x64, and SPARC instruction set schema types.
April 20, 2009, Oracle announced the official acquisition of the 7.4 billion-dollar price of sun company, the Java trademark officially owned by Oracle (the Java language itself does not belong to which company owned, it is managed by the JCP organization, Although the JCP is mainly led by sun or Oracle, the company says. Since Oracle has acquired another large middleware enterprise, BEA, after completing its acquisition of Sun, Oracle has taken two of the current three business virtual machines from Bea and Sun: JRockit and Hotspot, Oracle announced that in the next 1-2 years, the two outstanding virtual machines will be complementary to each other, and eventually combined. It can be foreseen that in the near future, the Java Virtual machine technology will make quite big changes.
July 28, 2011, Oracle Corporation releases Java SE 1.7
March 18, 2014, Oracle Company publishes Java SE 1.8
The Java language has the following features: Simple, object-oriented, distributed, interpretation execution, robust, secure, architecture neutral, portable, high-performance, multi-threaded, and dynamic.