JAVA - 深入JAVA 虚拟机 1
Java虚拟机与程序的生命周期
Java虚拟机将结束生命周期
1.call System.exit(n)
Terminates the currently running JVM.
2.程序正常执行结束
3.程序在执行过程中遇到了异常或者错误而异常终止
4.由于操作系统出现错误而导致JVM进程终止
类的加载,连接和初始化
加载: 查找并加载类的二进制数据
连接: 验证:确保被加载的类的正确性
准备:为类的静态变量分配内存,并将其初始化为默认值
解析:把类中的符号引用转换为直接引用
初始化:为类的静态变量赋正确的初始值

Java程序对类的使用方式
主动使用:
-创建类的实例
-访问某个类或者接口的静态变量,或者对该静态变量赋值
-调用类的静态方法
-反射(Class.forName("com.xueruan.Test"))
-初始化一个类的子类
-Java虚拟机启动时被标明启动类的类
被动使用:
所有JAVA虚拟机实现必须在每个类或接口被JAVA程序“首次主动使用时” 才初始化他们
类的加载指将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆
区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构
加载类的方式:
-从本地系统加载.class文件
-通过网络下载.class文件
-通过zip,jar等归档文件中加载.class文件
-从专有数据库中提取.class文件
-将JAVA源文件动态编译为.class文件

posted on 2017-07-06 10:27 dawangandy 阅读(68) 评论(0) 收藏 举报
浙公网安备 33010602011771号