About the design goals of Java
Java is not only a language, Java is a complete platform, there is a huge library, which contains a lot of reusable code and a provision such as security, cross-operating system portability and automatic garbage collection and other services of the execution environment. (Library + platform)
The Java White Paper mentions 11 key goals, and the following is an understanding of these 11 key terms.
Simplicity: The goal of Java is to build a system that can be programmed without the need for deep, professional training, and conform to the original specifications. As a result, Java is largely near C + +, but Java removes many of the less-used features in C + +, removing the complexity of C + +. However, relative to the visual programming environment, such as Vb,java, is still more complex. On the other hand, the simple other requirement is small, but now Java has a lot of classes.
Object-oriented: Object-oriented, Java's object-oriented features and C + +, Java and C + + is the difference between multiple inheritance, in Java, replaced by the concept of the interface, and Java meta-class concept.
Network skills: Java network programming is very convenient, while the remote method invocation mechanism allows distributed objects to communicate between.
Robustness: Java's robustness lies in the fact that Java never accesses a bad pointer, causing memory allocation errors and avoiding memory leaks. At the same time, Java can meet the flexibility requirements that pointers can meet.
Security: An eternal topic, a never-ending topic.
Architecture Neutrality: Java's runtime environment is that the Jre,java code generates architecture-independent bytecode after the compiler compiles, so that it can run as long as there is a byte-code interpreter. The bytecode that needs to be interpreted is slower than the machine code generated after C + + compilation, but the JVM provides mechanisms to speed up the operation of bytecode, and it now seems that Java is running at a speed that meets the requirements.
Portability: Java is run on the JVM, portability is inevitable.
Explanatory: Interpreted languages are slow to execute, even with the so-called incremental links. Now, using the instant compiler to translate bytecode into machine code, hot code compiled into machine code, running fast.
High performance: High performance comes from instant compilation and has the advantage over traditional compilers because more information can be obtained.
Multithreading: Multithreaded use in Java is quite handy. The Java underlying is also implemented using the operating system or the line libraries.
Dynamic: Java is more dynamic than C or C + + and can obtain information about run-time objects and is very flexible.
To sum up, Java is really a very easy-to-use programming platform, not just a language.
About the design goals of Java