Java基础回顾 : Runtime类和System类

1、 Runtime 类的使用,Runtime 类的定义特点 : 

★ . Runtime类的介绍 :

Runtime 指的是运行时,当每一个JVM 进程启动的时候,都会存在有一个Runtime 类的实例化对象,它是随着JVM 的存在而存在的。通过查看APi可以知道,Runtime类是一个单例模式,构造器被私有化了,并提供了一个方法getRuntime()来获得实例化对象.

★ . Runtime 类的下述方法可以用来取得以下内容:

· 空余内存:
public long freeMemory()
· 总共的内存:
public long totalMemory()
· 最大的可用内存:
public long maxMemory()
在Runtime 类里面有一个重要的方法用于释放垃圾空间:
public void gc()

★ . GC 是什么?如何操作?

· GC 指的是垃圾收集器;
· GC 会由JVM 不定期自动执行,或者直接调用Runtime 类中的gc()方法手工释放。


2、 System 类的基本使用 :

★ . System类常用的方法:

① . 数组的拷贝,但是现在给出的参数类型是Object,Object 可以接收数组类型(因为数组属于引用数据类型)

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)


② . 在System 类里面有一个取得当前日期时间的方法:
public static long currentTimeMillis()


③ . 另外在System 类里面也可以发现以下的一个方法:
public static void gc()
这个gc()方法并不是一个新实现的方法,而是继续调用了Runtime 类中的gc()方法。


那么下面就根据此GC 方法做一个关于对象回收的实现。例如:在对象创建的时候可以使用构造方法完成一些对象的初始化操作,但是当对象不再使用的时候,发现没有给我们编写对象收尾处理的地方。如果要想在对象收尾前做一些处理,那么必须覆写Object 类之中的一个方法:

④ . protected void finalize() throws Throwable
此方法有可能抛出的是Error 也有可能抛出的是Exception。实际上要知道,不管收尾的时候是否出
现了问题,实际上都不会影响程序运行。

★ . 关于final、finally、finalize 的区别?

· final:是一个关键字,定义不能被继承的类、不能被覆写的方法、常量;
· finally:是异常处理的统一出口,关键字;
· finalize:是Object 类的一个方法,用于执行对象回收前的处理操作。

你可能感兴趣的:(java)