Key terminology for Java "white paper"
1. Simplicity
To make the system easier to understand, Java is designed to be as close to C + + as possible, but Java presents many features that are rarely used, difficult to understand, and confusing in C + +. It can be said that Java syntax is a "pure" version of the C + + syntax. There are no header files, pointer operations (even pointer syntax), structs, unions, operator overloads, virtual base classes, and so on in Java.
2. Object-oriented
Java is a fully object-oriented programming language, and its object-oriented features are matched to C + +. The main difference between Java and C + + is that multiple inheritance, in Java, is replaced by a simpler interface concept. Compared to C + +, Java provides richer runtime introspection capabilities.
3. Distributed
Java has a rich example of libraries for dealing with TCP/IP protocols such as HTTP and FTP. Java applications can open and Access objects on the network through a URL, as easily as accessing a local file.
4. Robustness
One of the design goals of Java is to make programs written in Java Multi-faceted and reliable. Java has put a lot of effort into early problem detection, late-stage dynamic (runtime) detection, and elimination of error-prone situations, the biggest difference between Java and C + + is that the pointer model used in Java eliminates the possibility of rewriting memory and corrupting data. The Java compiler can detect many problems that can be detected only at run time in other languages.
5. Security
Java is suitable for network/distributed environments. In order to achieve this goal, the security has invested a lot of energy. Use Java to build anti-virus, tamper-proof systems.
From the beginning, Java was designed to protect against various attacks, including:
1), run-time stack overflow. such as worms and viruses commonly used attack means.
2), destroying the memory outside of its own process space.
3). Read and write files without authorization.
6. Architecture Neutrality
The compiler generates an architecture-neutral target file format (. class bytecode file), which is compiled code that can run on many processors as long as there is a Java runtime system.
7. Portability
In Java, the data type has a fixed size, which eliminates the major headache of code porting. Binary data is stored and transmitted in a fixed format, eliminating the problem of byte order. Strings are stored in the standard Unicode format. In addition, as a system component of the class library, but also defines a consistent excuse.
8. Explanatory
The Java interpreter can execute Java bytecode on any machine that has ported the interpreter.
9. High Performance
Java bytecode can be dynamically translated (at runtime) to correspond to the machine code (in-time compilers) of the specific CPU running the application.
10. Multithreading
Multithreading can lead to better interactive responses and real-time behavior.
11. Dynamic Nature
From a variety of perspectives, Java is more dynamic than C or C + +. It is able to adapt to the constantly evolving environment. The library is free to add new methods and instance variables without any effect on the client. Finding run-time type information in Java is straightforward.
1.2. Key terms for the Java white paper