Introduction: I often say, to understand a person, go to where he grew up. In fact, to understand a language, you should also understand his intentions. In the first half of the deep Java virtual machine, this goes deep into java.
1990 In addition to the rapid development of smart power, sun company developed the predecessor of Java--oak. Oak is an object-oriented programming language that can compose cross-platform application software. As the market demand for these intelligent home appliances is not expected to be high, when oak nearly failed, with the development of the Internet, Sun saw the broad application of oak in the computer network prospects, so modified oak, in May 1995, "Java" the name officially released. It can be seen that Java is born to solve cross-platform problems, network problems, its platform-independent, security and network mobility and the development of the network complement each other.
The Java Architecture consists of four separate aspects:
- Java programming language
- Java class file format
- Java application Programming Interface (Java API)
- Java Virtual machine
The Java virtual machine and Java API together constitute a platform, also known as the runtime system, supporting the Java architecture of the three major features: platform-Independent, secure, network mobile. The main task of a Java virtual machine is to load a class file and execute bytecode, defined by a Java Virtual machine specification, that can be flexibly implemented on different platforms of different devices. The Java API provides a common set of standard methods for accessing host system resources, and when writing Java programs, you can assume that Java API class files can be obtained on any executable program's Java Virtual machine. These class files mask the underlying hardware differences and drive platform independence.
The Java programming language itself takes advantage of many software technologies:
- Object oriented
- Multithreading
- Structured error handling
- Garbage collection
- Dynamic links
- Dynamic expansion
Java is very different from C + + and is a completely object-oriented language. There is no concept of pointers, not directly dealing with memory, address, and strict adherence to type rules. In the Java stack, only references and basic variables exist, and object unification is managed in the heap. In addition, there is no need to dispose of objects, the array is also a complete object, the use of object references can not be empty, etc. have enhanced the program robustness and design efficiency.
Several aspects of platform-agnostic support:
- Java platform: Buffering Java programs and hardware, operating systems
- Java language: Unified domain and behavior definition, platform agnostic
- Java class file: Strictly defined, can be created and loaded on any platform
- Scalability: Different sets of APIs
It is worth mentioning that Java scalability: Java According to the scene and the requirements of different, defined a subset of three APIs, J2ee,j2se,j2me, at the high end, Enterprise Edition shows the availability of high-end services, in the midrange, the Standard Edition provides the Java environment in the browser and desktop environment, at the low end, The mini-version shows a variety of industry subsets that can be scaled down to fully adapt to different consumer appliances markets and embedded systems.
Network mobility support for Java:
- Platform independence and security
- Easy Transfer and sequential loading of class small files
- Dynamic connectivity and dynamic scaling
- Compact design of class files
- Jar Support
In summary, Java for the mobile network, born for cross-platform, in the complex hardware and software environment to build a homogeneous environment, is a different software development, software distribution, the mode of operation. The Java applet, the Hadoop Big data platform continues to prove its value.
Drill down into Java virtual machines (understanding Java)