荣新IT培训中心
全国咨询热线:400-1335-066
您现在的位置:首页>行业新闻 > 正文

解析Java类的初始化加载和连接

时间:2018-01-12 14:00:24 来源:荣新IT教育培训 作者:荣新科技
从事IT行业的同学有很大一部分是做Java的,这也无可厚非,毕竟现在编程语言最火的就是Java了。火热程度水涨船高,自然也受众人追捧,现在给大家分享些关于Java类的一些知识,希望对大家有所帮助。
解析Java类的初始化加载和连接
1.1 类初始化

在类的初始化阶段,JVM 担任对类进行初始化,主要是对类变量进行初始化。为类变量指定初始值有两种方法:

1).声明类变量时指定初始值。

2).运用静态代码块为类变量指定初始值。

1.2 JVM和类

JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,每次运转一个 Java 程序时,都会发动一个 JVM 进程,同一个JVM的的一切线程、一切变量都在同一个进程中,都运用该进程的内存去,以下几种状况会停止 JVM 进程:

1).程序运转到最后,正常完毕。

2).程序运转中履行了 System.exit() 或许 Runtime.getRuntime().exit() 代码时会完毕程序。

3).程序履行过程中遇到未捕获的反常或许过错而完毕。

4).程序运转的地点平台强制完毕了 JVM 进程。

当 Java 程序运转完毕,JVM 进程也就完毕,该进程在内存中的状况也将丢失。

1.3 类加载

当程序自动运用某个类时,如果该类还没有被加载到内存中,则体系进经过加载、衔接、初始化三个过程将该类初始化,一般这三个过程是接连履行的。类加载是指将类的 class 文件读入内存,并为其创立一个 java.lang.Class 目标,运用任何类都会创立这个 Class 目标。

类加载由类加载器完结,一般由 JVM 供给,JVM 供给的类加载器也成为体系类加载器。上面提到类加载器能够自定义,我们能够经过承继 ClassLoader 类来创立自定义类加载器。

类文件的来历一般分为一下几种:

1).从本地体系文件加载 class 文件,大部分程序都是这种加载方法。

2).从 jar 包中加载 class 文件。

3).从网络加载 class 文件。

4).把一个 java 文件动态编译并加载。

类文件不一定是“初次运用”才会进行加载,JVM 允许体系预加载某些类。

1.4 类衔接

当类加载完结之后,体系会为其生成一个 Class 目标,然后进入类衔接阶段,这个阶段担任把类的二进制数据合并到 JRE 中,类衔接一般分为三个过程:

1).验证:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致。

2).准备:担任为类的类变量分配内存,并设置初始值。

3).解析:将类的二进制数据中的符号引证替换成直接引证。

文章源自荣新科技官网:www.vfast.com.cn欢迎访问,转载需注明出处