3、class文件加载过程

时间:2021-08-10 08:03:00

1。加载
2。链接(检验/准备/解析)

1/检验过程:检验class的数据格式。
2/准备过程:创建静态域,并将这些域设为默认值。
3/解析过程:在一个Java类中会包含对其它。类或接口的形式引用,包括它的父类、所实现的接口、方法的形式参数和返回值的Java类等。解析的过程就是确保这些被引用的类能被正确的找到。解析的过程可能会导致其它的 Java类被加载。

3。初始化

3、class文件加载过程

在上面的代码中,在初始化的时候,静态域的初始化和静态代码块的执行会从上到
下依次执行。因此变量X 的值首先初始化成10,后来又被赋值成30;而变量Y 的
值则被初始化成60。

二、线程的基本概念
1、进程:资源的组织单位;
2、线程:CPU调度的单位;
3、从上面的说明中,可以得到几条结论:wait/notify/notifyAll 操作需要放在synchronized

三、Java 垃圾回收机制与引用类型
1、分配内存
2、确保被引用的对象的内存不被错误回收
3、回收不再被引用的对象的内存空间

服务器端应用可能希望在应用的整个运行时间
中,花在垃圾回收上的时间总数越小越好。

Java 垃圾回收机制最基本的做法是分代回收
年轻世代的内存区域被进一步划分成伊甸园(Eden)和两个存活区(survivor space)。
伊甸园是进行内存分配的地方,是一块连续的空闲内存区域。

而对于年老和永久世代的内存区域,则采用的是不同的回收算法,称为“标记-清除-压缩