简述jvm的理解
2021-07-21
展开全部
1、Java虚拟机与程序的生命周期
(1):程序正常执行完,进程结束
(2):System.exit()方法来终止程序执行,传入参数为0,代表正常退出
(3):程序出现异常或者错误导致虚拟机进程退出
(4):操作系统出现错误导致虚拟机进程退出
2、类的加载、连接以及初始化
(1)加载:查找并将磁盘上的.class文件(字节码文件,二进制数据)加载到内存中
(2)连接:
1.验证:验证被加载类的准确性
2.准备:为类的静态变量分配内存以及初始化为默认值(此时a的值为0)
3.解析:将类中的符号引用转换为直接引用
(3)初始化:为类的静态变量赋予正确的初始值(此时a的值为3)
public class test {
private static int a =3;
}
3、Java程序对类的使用方式可分为两种:主动使用和被动使用,所有的Java虚拟机实现必须在每个类或接口被Java程序"首次主动使用"时才初始化它们。
(1):程序正常执行完,进程结束
(2):System.exit()方法来终止程序执行,传入参数为0,代表正常退出
(3):程序出现异常或者错误导致虚拟机进程退出
(4):操作系统出现错误导致虚拟机进程退出
2、类的加载、连接以及初始化
(1)加载:查找并将磁盘上的.class文件(字节码文件,二进制数据)加载到内存中
(2)连接:
1.验证:验证被加载类的准确性
2.准备:为类的静态变量分配内存以及初始化为默认值(此时a的值为0)
3.解析:将类中的符号引用转换为直接引用
(3)初始化:为类的静态变量赋予正确的初始值(此时a的值为3)
public class test {
private static int a =3;
}
3、Java程序对类的使用方式可分为两种:主动使用和被动使用,所有的Java虚拟机实现必须在每个类或接口被Java程序"首次主动使用"时才初始化它们。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询