History of the development of the Java language

Wikipedia introduction

Early Java

What started as a computer language Sun (Sun MicroSystems, an internal project) company in December 1990 start of the study. A Sun computer company called Patrick Norton's engineers are struggling with the company's own development of C ++ and C language compiler, because the API is extremely difficult to use. Patrick decided to switch to NeXT, he also got a chance to research the company on a project called "Stealth Plan" of.

"Stealth Plan" later renamed "Green Plan", James Gosling and Mike Shelin Dan (Mike Sheridan) joined the working group Patrick. Together, they and several other research engineer in a small studio in California Sand Hill Road in Menlo Park inside the development of new technologies, the program aimed at next generation of smart appliances (such as microwave ovens) design, Sun has anticipated future technology will be in the field of home appliances to show their talents. Team initially considered using the C ++ language, but many members include Sun's chief scientist Bill Joy, and found that C ++ API available there is a big problem in some areas.

Working Group on the use of an embedded system, you can use the very limited resources. Many members find that C ++ is too complex to many developers often misused. They found that C ++ lacks garbage collection system, as well as the safety of portable, distributed programming, and multi-threading capabilities. Finally, they want an easy migration to the platform on a variety of devices.

According to available funding, Joey decided to develop a new set of language C language and language culmination of Mesa, at last report, Joey called it "the future", he proposed that Sun's engineers should be on the basis of C ++, to develop an object-oriented environment. Initially, Gosling tries to modify and extend the C ++ function, he said that this new language is C ++ ++ -, but then he gave up. He will create a new language, he was named as the "Oak" (Oak), with oak outside his office named.

Like many new technologies secret project, the working group work day and night to the summer of 1993, they were able to demonstrate part of the new platform, including the Green OS, Oak programming language, class libraries and hardware . The initial attempt is directed to an apparatus like PDA, was named Star7, this device has a bright graphical interface and intelligent agents are known as "Duke" to help users. December 3, 1992, this equipment were displayed.

In November, Green plans to be transformed into "FirstPerson Co., Ltd.", a wholly owned subsidiary of Sun Microsystems, the team has also been rescheduled to Palo Alto. FirstPerson team interested in the construction of a highly interactive device, when Time Warner issued a proposal to solicit book about television set-top box (Request for proposal), FirstPerson changed their target, as a response to solicit submissions put forward It proposed a set-top box platform. But the cable TV industry think FirstPerson platform to give users too much control over, so FirstPerson bid lost out to SGI. 3DO company with another transaction on set-top box has not been successful, because they can not produce any benefits of the platform, and the company in the television industry is back to Sun Microsystems.

The summer of 1992, when the Oak language developed, the researchers carried out to hardware manufacturers operating system demonstrates Green, Oak programming language, class libraries and hardware, to persuade them to use the language Oak hardware chip production, however, hardware manufacturers did not produce this great enthusiasm. Because they believe that in the case of the owner of the Oak language also know nothing about, on the production of hardware product risk is too great, so the Oak language partly because of a lack of hardware support and can not enter the market, so as to be shelved .

June 1994 and July, after experiencing a three-day discussion, the team decided to change the goal again, this time they decided to apply this technique to the World Wide Web. They believe that with the arrival of the Mosaic browser, the Internet is the same vision of the evolution of highly interactive, and this vision of what they see in the cable television network. As a prototype, Patrick Norton wrote a small web browser WebRunner.

In 1995, the Internet's booming gave Oak a chance. In order to make the industry's rigid, monotonous static pages can be "flexible" it is in urgent need of a software technology to develop a program, this program can be transmitted through the network and be able to cross-platform operation. So, the world's major IT companies do have invested a lot of manpower, material and financial resources. This time, Sun has thought that was shelved for a long time Oak, and re-examine the test platform with software written, because it is prepared in accordance with embedded systems hardware platform architecture, so very small, especially for network transmission system, and Oak is also a streamlined language, the program is very small, suitable for transmission over the network. Sun Microsystems launched the first Applet can be embedded in web pages and can be transmitted over the network along with the page (Applet is a small program will be embedded in Web pages for technical execution), and Oak was renamed Java (at the time of application for trademark registration, discovery Oak has been used, after a series of name think, ultimately, the use of the words Java Java proponents when a cup of coffee inadvertently mentioned). May 23, Sun has released Java and HotJava browser in the Sun world meeting. IBM, Apple, DEC, Adobe, HP, Oracle, Netscape and Microsoft and other major companies have stopped their related development projects, competing to buy a Java license, and develop the appropriate Java platform for their products.

In January 1996, Sun released the first Java Development Kit (JDK 1.0), which is an important milestone in the development of Java, Java marks become an independent development tool. In September, about 83,000 Web pages utilize Java technology to produce. In October, Sun has released the first real-time Java platform (JIT) compiler.

In February 1997, JDK 1.1 available in the next three weeks, downloads reached 220,000 times. April 2, Java One conference, more than a thousand participants, a then record the same scale of the global conference. In September, Java Developer Connection community members to over 100,000.

December 8, 1998, the second generation of the Java Platform Enterprise Edition J2EE release. In June 1999, Sun has released the second generation of the Java platform (referred to as Java2) in three versions: J2ME (Java2 Micro Edition, Java2 platform Micro Edition), used in mobile, wireless and limited resources environment; J2SE ( Java 2 standard Edition, Java 2 platform, standard Edition), used in the desktop environment; J2EE (Java 2Enterprise Edition, Java 2 platform enterprise Edition), used in Java-based application server. Release of the Java 2 Platform, Java development process is the most important milestone, marking the beginning of the popularity of Java applications.

1999 April 27, HotSpot VM release. When the HotSpot virtual machine is released as JDK 1.2 provides additional program, and later it became the Sun JDK JDK 1.3 and later versions of all of the default virtual machine.

In May 2000, JDK1.3, JDK1.4 and J2SE1.3 have been released, a few weeks after it won the support of Apple's Mac OSX industry standards. 2001 September 24, J2EE1.3 release. 2002 February 26, J2SE1.4 release. Since Java computing power has been significantly improved, compared with J2SE1.3, nearly 62 percent more than its classes and interfaces. Among these new features, also provides extensive XML support, secure socket (Socket) support (via SSL and TLS protocol), the new I / OAPI, regular expressions, and log the assertion. 2004 September 30, J2SE1.5 release, another milestone in the history of the Java language development. In order to express the importance of this release, J2SE 1.5 was renamed Java SE 5.0 (build number 1.5.0), code-named "Tiger", Tiger contains the most significant update from version 1.0 released since 1996, including generics It supports basic types of automatic packing, improved cycle, enumerated types, formatted I / O and variable parameters.

In June 2005, at the Java One conference, Sun has released Java SE 6. In this case, Java has been renamed various versions, two of which have been canceled numbers, such as J2EE renamed JavaEE, J2SE renamed JavaSE, J2ME renamed JavaME

November 13, 2006, the inventor of Java technology, Sun announced the Java technology as free software released. Sun's official release of the Java Platform, Standard Edition is the first source code, as well as a mini version of the Java executable source code. Since March 2007, all the world's developers of Java source code can be modified.

In 2009, Oracle announced the acquisition of Sun. In 2010, one of the co-founders of the Java programming language, James Gosling resigned from Oracle Corporation. In 2011, Oracle held a global event to celebrate the launch of Java7, then Java7 released. In 2014, Oracle released the official version Java8

Java and the Internet

In June 1994, after the same John Gage, James Gosling, Bill Joy, Patrick Norton, Wayne Ross due and Eric Schmidt went through a brainstorming lasted three days the team decided to change the goal again, this time they decided to apply this technique to the World Wide Web. They believe that with the arrival of the Mosaic browser, the Internet is the same vision of the evolution of highly interactive, and this vision of what they see in the cable television network. As a prototype, Patrick Norton wrote a small web browser, WebRunner, later renamed HotJava.

In October 1994, HotJava and the Java platform presentations to senior management. In 1994, Java 1.0a version is available for download, but the first public release of Java and HotJava browser is carried out in 1995, March 23 SunWorld conference. Sun's John Gage scientific guidance declare Java technology. This release is issued in conjunction with the stunning, executive vice president of Netscape's Marc Andreessen, Netscape announced that will include support for Java in their browsers. In January 1996, Sun has set up a Java business group dedicated to the development of Java technology.

Java and "Java"

Predecessor JAVA language is not now the name of its predecessor's name is called Oak, which means oak mean, the original Green SUN's project team leader very much like an oak tree in the office, so named for the Oak.

Due to trademark search revealed Oak has been registered a graphics card manufacturer. So the same year, Oak was renamed Java. When hexadecimal editor to open by the Java compiler source binaries (.class files), then the top 32 will be shown as CA FE BA BE, i.e., the phrase "CAFE BABE" (Baby Cafe)

Sun has developed an object-oriented language called Oak's. But when applying for trademark registration and found that Oak has been used, while they were drinking cafe Java coffee, said one person had an idea what is called Java, this proposal has been endorsed by others. The final language was renamed Oak Java.

 

Recent Java

After a couple of years, Java in the browser's status is gradually eroded. It uses a simple interactive animation has been completely excluded Adobe's Flash, a tendency only in 2005 Java is used for more complex applications like Yahoo games. Java while the opposition suffered from Microsoft, they decided on a new version of Internet Explorer and Windows is no longer included with the Java platform.

In contrast, on the World Wide Web server and handheld devices, Java has become more popular. Many sites use JSP and other Java technology in the backend.

On the desktop, standalone Java program is still relatively rare because the overhead of the Java platform to run larger, but Java is not installed on many computers, because the network bandwidth is small in the past, downloading Java used to be a time-consuming thing. But as computing power, network bandwidth acquisition in 10 years a lot of progress, while the quality of the virtual machine and compiler has been improved, many applications have been widely used

Java open source projects

In 2006 SUN Java open source projects announced in JavaOne, and launched the OpenJDK project [13]. Java Virtual Machine, Java compiler and Java class libraries open to the GNU General Public License.

Criticism of Java

Java attempt to address the complexity of software written in new ways. Many people think Java language did everything it promises. But Java is not a perfect language.

language problem

Some programmers do not like to separate the original type (primitive type) and category (class), especially those who have used the Smalltalk and Ruby programmers. Java code with respect to the rest of the code is too long, which contrary to the light of its statement.

Java is a single inheritance language. This also led to a programmer trying to use multiple inheritance when inconvenient, and many languages ​​can use this feature. However, you can use Java interface classes, to reduce the risk of multiple inheritance could lead to a minimum. Java does not support operator overloading, this is to prevent that the operator overloading function code becomes unclear. But the language Groovy Java implementation can be operator overloading. For the past manipulating text Java and other languages, such as Perl and more poor compared to PHP, but Java version 1.4 when introduced in a regular expression.

Until Java 1.7, Java language does not support the closure (closure) and mixed (mixin) characteristics.

Java 1.8 added lambda expressions (Lambda Expressions) [18].

Library issues

Swing platform using programs written with a GUI (graphical user interface) and other original programs are very different. Selection AWT toolkit to program the programmers see are the original interface, and can not have access to advanced GUI programming support, if used, it is necessary to provide the required above each platform API, this will be a huge engineering. Swing is a program written entirely in the Java language, avoiding duplication of interface elements using only the most basic drawing mechanism for all platforms supported. But many users do not know how to convert between Java and Windows-style style, resulting in a Java program interface is very special in many programs. Apple has provided a Java runtime optimized, including the Mac OS X Aqua interface to the classic style.

Performance issues

Due to the large impact on the effects of different Java code performance Java compiler and virtual machine than the language itself, therefore the performance unified discussion Java programs are often misleading. According to IBM's data, on the same hardware IBM JDK versions when the 2001 performance was around the year of 1996 JDK version tenfold. And even in the same period, different companies JDK and JRE is not the same performance, such as SUN, IBM, BEA and other companies have developed their own JDK and JRE

Some features of the Java language is inevitable extra cost of performance, such as array bounds checking, run-time type checking, and so on. Java program performance will be much different dynamic because the complexity and waste disposal mechanism used and different. If the JVM to achieve more optimal, then these functions can even increase the performance of memory allocation. This is always the case, and Managed C ++ using the STL or similar program.

Nevertheless, there are still many people believe that low performance of Java. This is partly due to the Sun's initial JVM implementations use unoptimized bytecode interpretation mechanism to run. Using the new version of the JVM Just-In-Time (JIT) compiler, when loading the compiled bytecode to be optimized to achieve some characteristic of native compiler for native code execution environment. Just-In-Time compiler mechanisms and local performance comparison is still a controversial topic. JIT compiler requires a lot of time, not a long time to run a large program or a lot of code is not appropriate. But not JIT compilation phase, then the performance of the program can be run locally compiled programs and compete short length in many JVM, even computing-intensive computing value is true in some. Currently, Java has been the use of more advanced technology to replace the HotSpot JIT techniques, Java's performance has been further improved. In addition, when using the -server option to run a Java program, Java can also be more in-depth optimization, such as runtime calls within more methods with (inline) into the program to increase the operating speed, which is called " dynamic optimization ", while the native compiler is unable to do this; one of the reasons this is a faster operation than some Java code to native code application C / C ++ and other languages. Microsoft's .NET platform also uses JIT compiler, so there are similar problems.

Java is designed primarily security and portability, so for some features, such as direct access to the hardware architecture and memory address access have been removed. If you need to call these indirect underlying functionality, then you need to use JNI (Java Native Interface) to call native code, while indirect access means that frequently call these characteristics will have a significant performance loss, Microsoft's .NET platform also have this problem. Therefore, until the present, performance-sensitive code, such as drivers and 3D video games, or using mostly locally compiled, and even does not directly support object-oriented C language or machine code written directly. But recently many have written in pure Java 3D games, its effect is comparable written in the C language, such as "Metal Warrior" (English name: Chrome). This is mainly because the new version of Java 3D technology has been able, like calling hardware acceleration like C ++, is using the graphics card to accelerate, either C ++ or Java language to write 3D games are using a video card and GPU to process, so that the CPU can focus on other aspects of the work.

 

Version History

In December 1998, JDK1.2 release, has become a milestone in the language JAVA, JAVA is also the first time into J2SE, J2ME, J2EE three development technology.

In 2005, SUN JAVA will be removed in 22, J2SE renamed Java SE, JDK1.6 renamed Java SE6.

In 2009, Oracle's acquisition of SUN Company, which for the further development of Java has played a catalytic role.

    May 23, 1995, Java language was born

    In January 1996, the first birth of a JDK-JDK1.0

    In April 1996, 10 major operating system vendors declare JAVA technology will be embedded in their products

    In September 1996, about 83,000 Web pages utilize JAVA technology to produce

    1997 February 18, JDK1.1 release

    1997 April 2, JavaOne conference, more than a thousand participants, a then record the scale of its kind worldwide conference

    In September 1997, JavaDeveloperConnection community members over one hundred thousand

    In February 1998, JDK1.1 been downloaded more than 2,000,000 times

    1998 December 8, JAVA2 J2EE enterprise platform release

    In June 1999, SUN has released three versions of Java: Standard Edition (J2SE), Enterprise Edition (J2EE) and Micro Edition (J2ME)

    2000 May 8, JDK1.3 release

    2000 May 29, JDK1.4 release

    2001 June 5, NOKIA announced that by 2003, will sell 100 million mobile phones that support Java

    2001 September 24, J2EE1.3 release

    2002 February 26, J2SE1.4 release, since Java computing power has increased dramatically

    On September 30, 2004 Ri 18:00 PM,J2SE1.5 release, another milestone in the history of the Java language development. In order to express the importance of this version, J2SE1.5 renamed Java SE 5.0

    In June 2005, JavaOne Conference, SUN company publicly Java SE 6. At this point, Java's various versions have been renamed to cancel one of the numbers "2": J2EE renamed Java EE, J2SE renamed Java SE, J2ME renamed Java ME

    In December 2006, SUN has released JRE6.0

    December 2009, SUN has released Java EE 6

    November 2010, due to the company for Oracle Java community unfriendly, so Apache threatened to quit

    July 28, 2011, Oracle released Java SE 7

    March 18, 2014, Oracle released Java SE 8 companies

    September 21, 2017, Oracle released Java SE 9 companies

    March 21, 2018, Oracle released Java SE 10 companies

    September 25, 2018, Java SE 11 release

Version History

Java 11,12 release, the development community SpringBoot Spring, have the Java maintained a high activity.

The world's 2.5 billion Java devices running Java, 450 a million Java developers active in every corner of the Earth, tens of millions of Web users every time the Internet have witnessed the power of Java. Today, Java runs on 708 million mobile phones, smart cards and 1 billion 700 million PC, and provides a powerful platform for 28 models compatible application server, more and more enterprises because of the use of Java and improve production efficiency.

Guess you like

Origin www.cnblogs.com/zhangze-lifetime/p/11595777.html