一、java机制
1.1、运行机制
- 高级语言运行机制
- 编译型:源代码–>特定平台机器码(效率高,脱离开发环境,移植性低)
- 解释型:源代码–>特定平台的解释器–>特定平台的机器码(可移植,但是相当于是把编译与解释混在一 起,牺牲了运行效率)
- java语言运行机制
- 先编译后解释:java源文件 —javac编译器—> .class字节码文件(与平台无关) –jvm解释–> 特定平台机器码
- 由此出现了生命周期为编译时和运行时的时间
1.2、垃圾回收机制
- 简介:java内存分配和回收是由JRE后台自动运行的,JRE会回收无用的内存;这种机制称为垃圾回收机制,JRE提供一个后台线程进行检查和回收。(通常在cpu空闲或内存不足时进行,提高编程效率和安全性,但性能有影响,需要向对象进行跟踪)
- 特点
- 回收的是无用对象的内存空间,是jvm堆内存的内存空间,只能回收内存资源,不能回收数据库连接和磁盘IO
- 在回收任何对象之前,总会调用他的finalize方法
- 可以给对象的引用变量设为null暗示回收机制回收该对象内存资源
- 强制垃圾回收
- finalize方法
- 只会由垃圾回收机制调用
- 可恢复对象的finalize方法会激活对象
- finalize方法出现异常时,垃圾回收机制不会报告异常,程序继续执行