当前位置: 首页 > 工具软件 > jvms > 使用案例 >

JVMS Specification(4)-Loading, Linking,and Initializing

慕迪
2023-12-01

THE Java virtual machine dynamically loads, links and initializes classes and interfaces.

Loading is the process of finding the binary representation of a class or interface

type with a particular name and creating a class or interface from that binary

representation. Linking is the process of taking a class or interface and combining it

into the runtime state of the Java virtual machine so that it can be executed. Initialization

of a class or interface consists of executing the class or interface initialization

method <clinit> (§2.9).

In this chapter, Section 4.1 describes how the Java virtual machine derives symbolic

references from the binary representation of a class or interface. Section 4.2

explains how the processes of loading, linking, and initialization are first initiated by

the Java virtual machine. Section 4.3 specifies how binary representations of

classes and interfaces are loaded by class loaders and how classes and interfaces

are created. Linking is described in Section 4.4. Section 4.5 details how classes

and interfaces are initialized. Section 4.6 introduces the notion of binding native

methods. Finally, Section 4.7 describes when a Java virtual machine exits.

jvm动态加载,连接和初始化类或者接口,加载过程是找到类或者接口的二进制表现形式,

连接的过程是把接口或者类和jvm运行状态绑定在一起,所以才能被执行。初始化是类或者接口执行类或者接口的初始化<clinit>方法。

4.1节,讨论JVM如何符号引用了一个类或者接口的二进制表现形式。

4.2节,解释了加载,连接,初始化过程是如何首先被jvm初始化的。

4.3节,类或者接口的二进制表现试试如何被类加载器加载和对象如何被创建。

4.4节,连接过程。

4.5节,接口或者类的初始化。

4.6节,绑定本地方法。

4.7节,JVM什么时候退出。


 类似资料: