[notes] Inside JVM - Intro to Java architecure
时间:2010-09-06 来源:lqseu
- the Java programming language
- the Java class file format
- the Java Application Programming Interface
- the Java Virtual Machine
The Java Virtual Machine
At the heart of Javaís network-orientation is the Java Virtual Machine, which supports all three prongs of Javaís network-oriented architecture: platform independence, security, and network-mobility.
A Java Virtual Machineís main job is to load class files and execute the bytecodes they contain. As you can see in Figure 1-3
class loader Architecure
Primodial class loader
The primordial class loader (there is only one of them) is a part of the Java Virtual Machine implementation. For example, if a Java Virtual Machine is implemented as a C program on top of an existing operating system, then the primordial class loader will be part of that C program. The primordial class loader loads trusted classes, including the classes of the Java API, usually from the local disk.
class loader
class loader objects enable you to dynamically extend a Java application at run-time. As it runs, your application can determine what extra classes it needs and load them through one or more class loader objects. Because you write the class loader in Java, you can load classes in any manner. You can download them across a network, get them out of some kind of database, or even calculate them on the fly.
Java class file
Its role in platform independence is serving as a binary form for Java programs that is expected by the Java Virtual Machine but independent of underlying host platforms.
The Java API
The Java API is set of runtime libraries that give you a standard way to access the system resources of a host computer.
The Java Programming Language
- object-orientation
- multi-threading
- structured error-handling
- garbage collection
- dynamic linking
- dynamic extension