Java technology system development history and future prospects

1. The java technology system officially defined by Sun includes 5 parts:
①Java programming language ②Java
virtual machine on various hardware platforms
③Class file format
④Java API class library ⑤Third
-party Java class library

2.JDK: We put the java programming language , Java virtual machine, Java API class library is collectively referred to as JDK (Java Development Kit), JDK is the smallest environment used to support the Java development environment.
JRE: We put the subset of Java SE API in the Java API class library and the java virtual machine two Part of it is called JRE (Java Runtime Environment). JRE is a standard environment that supports the running of Java programs.
           
3. According to the technical service field, the Java system can be divided into 4 platforms:
①Java Card: supports running some Java applets. On small memory devices (such as smart cards).
② Java ME (Micro Edition, J2ME): supports Java programs running on mobile devices, and has now been replaced by Android.
③ Java SE (Standard Edition, J2SE): supports java for desktop applications The platform provides a complete Java core API.
④Java EE (Enterprise Edition, J2EE): supports enterprise-level applications (such as ERP, CRM applications) using a multi-layer architecture. (Expansion: The packages with java.* as the package name are the core package part of the Java SE API, and later expanded to join the package part of javax.*) 4. Java

development history:
1991.4, James Gosling's green plan, the purpose of this plan is to develop a program architecture that can run on various consumer electronic products, named Oak (Oak).
1995.5.23, Oak changed its name to Java, and proposed "Write The slogan of "Once, Run Anywhere".
1996.1.23, JDK1.0 was officially released, and the Java language had the first official version of the operating environment. JDK1.0 provided a pure interpretation and execution of the Java virtual machine implementation (Classic VM, only JIT can be used by plug-in).
1997.2.19, JDK1.1 was released, technical representatives include: JAR file format, JDBC, JavaBeans, RMI (Remote Method Invocation),
java syntax extension: inner class, reflection
1998, 12.4, JDK1 .2 was released, code-named playground. In this version, Sun split the java technology system into three directions: Java ME, Java SE, Java EE. (Java 2 Platform). In this version, the first Built-in JIT (HotSpot VM, Exact VM are built-in JIT compilers. HotSpot VM is provided as an additional program in JDK1.2, and is the default virtual machine in JDK1.3 and later).
2000.5.8, JDK1.3 Released, codenamed Kestrel (Kestrel), with major improvements in some libraries: JNDI platform-level services, a large number of new Java 2D APIs, and a new JavaSound library.
2002.2.13, JDK1.4 was released, codenamed Merlin (Merlin), which provided many new technical features: regular expressions, exception chains, NIO, log classes, XML parser, XSLT converter. (Two small versions , JDK1.4.1-Grassshopper-Grasshopper, JDK1.4.2-Mantis-Mantis). Classic VM exits the historical stage of commercial virtual machines.
2004.9.30, JDK1.5 released, codenamed Tiger (Tiger), improvements provided:
Syntax: Automatic Boxing, generics, dynamic annotations, enumerations, variable-length parameters, traversal loops (foreach), etc.
Virtual : Improved Java Memory Model
API: Provided concurrent packages (java.util.concurrent)
2006.12.11, JDK1.6 was released, code-named Mustang (Mustang), ended the 8-year J2ME, J2SE, J2EE naming, and enabled the naming of JavaME6, JavaSE6, JavaEE6.
Syntax: Provide dynamic language support On the
virtual machine: Improved lock and synchronization, garbage collection, changes in class loading.
API: Provide compilation API, micro HTTP server API, etc.
2009.2.19, JDK1.7 released, codenamed Dolphin (Dolphin). Improvement provided:
virtual machine Above: A new G1 collector is provided, which will be positive in JDK1.7 Update4.
System support: JDK1.7 Update4, starts to support Mac OS X operating system, and fully supports it in Update6.
Syntax support: Provides support for ARM instruction set architecture 5.

History of Java Virtual Machine:
①Sun Company:
Classic VM: Use a pure interpreter to execute Java code. If you use JIT, you must use a plug-in method. In JDK1.4, it exited the stage of history.
Exact VM: Use a mixed working mode of compiler and interpreter, named after the use of accurate memory management, That is, the virtual machine can know the specific type of data in a certain location in memory. In JDK1.4, it exits the historical stage.
HotSpot VM: The default virtual machine in JDK1.3 and later versions uses "hot code detection technology". It was acquired by Oracle in 2009.
JRockit VM: The original virtual machine of BEA, which was acquired by Oracle in 2008. Advantages: Garbage collector, MissionControl service
② IBM:
J9 VM: It was originally an internal development code, and its official name was IT4J (IBM Technology for Java Virtual Machine). It was originally extended by a virtual machine called SmallTalk in IBM Ottawa Labs. This virtual machine had a bug caused by a wrong definition of the 8k value. After that, this version of the virtual machine became K8. Then
The engineer spent a long time to solve this problem, and later extended a virtual machine that supports Java called J9.
③Google:
Android Dalvik VM: One of the core components of the Android platform, the name comes from a small fishing village called Dalvik. It It is not a virtual machine, does not follow the Java virtual machine specification, and uses a register architecture. The dex (Dalvik Executable) file it executes can be converted from a Class file, and applications are written using java syntax, and most Java APIs can be used directly.

6. Looking forward to the future of Java technology
① Modularity: Jigsaw (jigsaw puzzle)
② Mixed languages
​​③ Multi-core parallelism
④Further enrich the syntax
⑤64-bit virtual machine

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326339319&siteId=291194637