System类详解

System 类在加载的时候会执行类中的静态块,从而调用一个本地的 registerNatives 方法。
System类是一个final类,其他类不能继承它并且System中的构造函数用private修饰的,因此不能实例化一个System对象,所以我们只能静态的调用System类中的方法和静态常量。这个类包含了三个静态常量,分别是InputStream inPrintStream out以及PrintStream err,这三个常量在。这里需要注意的就是initializeSystemClass方法,这是System类中的私有方法,用来在类加载后初始化。
setIn setOut setErr 都是调用本地方法来实现 重新分配 标准 的。
Console 方法用来返回与当前虚拟机关联的 console 对象。
inheritedChannel返回从创建此 Java 虚拟机的实体中继承的信道。
setSecurityManager方法设置系统安全性。
getSecurityManager获取系统安全接口。
currentTimeMillis本地方法,用来返回以毫秒为单位的当前时间。
nanoTime本地方法,返回最准确的可用系统计时器的当前值,以毫微秒为单位。
Arraycopy本地方法从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
getProperties确定当前的系统属性。
setProperties将系统属性设置为 Properties 参数。
clearProperty移除指定键指示的系统属性。
getenv返回一个不能修改的当前系统环境的字符串映射视图。
exit(int status)方法调用Runtime.getRuntime().exit(status)方法来 终止当前正在运行的 Java 虚拟机。
gc() 方法调用了Runtime.getRuntime().gc()来运行垃圾回收器。
runFinalization方法调用了Runtime.getRuntime().runFinalization()来运行处于挂起终止状态的所有对象的终止方法。
Load方法调用了Runtime.getRuntime().load0(getCallerClass(), filename)来从作为动态库的本地文件系统中以指定的文件名加载代码文件。
loadLibrary方法加载由 libname 参数指定的系统库。
mapLibraryName是个本地方法,将一个库名称映射到特定于平台的、表示本机库的字符串中。

getCallerClass方法调用了Reflection.getCallerClass(3)方法来实现的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值