文章目录
- JVM四大特性
- 跨平台
- 自动垃圾回收机制
- finalize
- finally
- final
JVM四大特性
跨平台
自动垃圾回收机制
面向对象
多线程
跨平台
Java的跨平台是指里面的JVM跨平台
无法跨平台的原因是操作系统的的不同,但是JVM 并不针对操作系统,所以操作系统对Java的跨平台没有影响
不过想要执行Java文件必须要有JDK(Java Development kit),它里面有实现跨平台的工具JVM(虚拟机),虚拟机它其实是借助电脑本身的设备及其他功能来实现的一个模拟机器。
我们编写的是.java文件最终会通过虚拟机调用jdk中的程序转换为.class文件,也就是字节码文件。传递的也是字节码文件,然后运行时,再反编译位.java文件运行。
自动垃圾回收机制
垃圾:没有更多引用指向这个对象的时候,被视为垃圾
也就是一些资源被创建,然后这些资源使用之后没有其他调用的情况,被视为垃圾,当到一定时间,JVM会把垃圾清理掉,用以释放内存。
finalize
由于垃圾回收时必会调用一个叫做**finalize**的方法,我们可以在finalize上面做文章,覆写该方法,比如,当垃圾被回收时弹出一个提醒垃圾被回收了。
当然,我们也可以建议回收,但是系统会不会接受建议没有保证
// 建议JVM回收
System.gc();
finally
finally必须执行的语句块 (不管程序是否出错,finally都会执行)
用处:有时候我们需要在程序出错的情况下,有些代码必须执行,比如 开启资源
finally 语句块 必须和try 使用或者和try(){}catch{}使用,不能单独使用
finally语句在两种情况下不会执行
- 编译时异常,编译有错,压根不能运行
- System.exit() : 运行起来之后,这个相当于直接关闭虚拟机
final
final是修饰符,
- 被final修饰的类不能被继承
- 被final修饰的方法不能被覆写
- 被final修饰 的变量不能被二次赋值(意味着不能有默认值,就是不能先声明(默认值占位),然后再赋值(相当于二次赋值))。
更多推荐
JavaSE入门:JVM四大特性:跨平台;自动垃圾回收机制(以及finalize与finally,final)
发布评论