System方法总结

最近在研究Android源码,突然看到有很多和System有关,什么System.arraycopy、System.nanoTime(),所以专门花时间看了一下这个类。 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。 由于该类的构造函数问private,所以它不能被实例化,其中的方法大多使用static关键字修饰。如下为具体方法分析:

成员属性

err

实现:public static final PrintStream err 介绍:“标准”错误输出流。

in

实现:public static final InputStream in 介绍:“标准”输入流。

out

实现:public static final PrintStream 介绍:“标准”输出流。

成员方法

arraycopy

方法:void arraycopy (Object src, int srcPos, Object dest, int destPos, int length) 功能:把数组资源从给定的起始位置复制一定的长度到另一个数组对象的给定位置。

参数说明

src

源数组对象

srcPos

源数组对象需要复制的其实位置

dest

目的数组对象

destPos

目的数组对象起始位置

length

需要复制数组的长度

异常说明

IndexOutOfBoundsException

数组越界异常

ArrayStoreException

源数组类型与目的数组类型匹配错误

dest

目的数组对象

destPos

目的数组对象起始位置

NullPointerException

空指针异常

clearProperty

方法:String clearProperty (String key) 功能:清除系统对应key的属性

参数说明

key

系统属性key

返回说明

String

返回系统属性key对应的值,如果没有该属性则返回null

Throws

NullPointerException

如果key为null

IllegalArgumentException

如果key为empty

参见: getProperty(String) setProperty(String, String)

console

方法:Console console () 功能:返回当前java虚拟机的控制台。

返回说明

Console

Console控制台

currentTimeMillis

方法:long currentTimeMillis () 功能:返回当前时间的毫秒数,精度取决于操作系统。

返回说明

long

从1970年1月1日(UTC)到当前的毫秒数

exit

方法:void exit (int status) 功能:终止当前正在运行的Java虚拟机。参数作为状态代码,按照惯例,一个非零状态码表示异常终止。相当于调用 Runtime.getRuntime().exit(n)。

参数说明

status

退出状态参数

异常说明

SecurityException

如果安全管理器存在及其checkExit方法不允许退出与指定的地位。

gc

方法:void gc () 功能:垃圾回收器运行。调用gc方法表明,Java虚拟机消耗的努力向回收未使用的对象,使他们目前占用的内存用于快速重用。当控制返回从方法调用时,Java虚拟机做出了最大的努力从所有丢弃对象回收空间。 此方法类似 Runtime.getRuntime().gc()

getProperties

方法:Properties getProperties () 功能:获取当前系统所有属性。 类似方法:

  • String getProperty (String key, String def)
  • String getProperty (String key)

getSecurityManager

方法:SecurityManager getSecurityManager () 功能:返回安全管理器,在Android中总是返回null。

getenv()

方法:String getenv (String name) 功能:以Map格式返回系统的环境变量。 类似方法:

  • getenv(String)

#…

nanoTime

方法:long nanoTime () 功能:返回正在运行的java虚拟机的最高分辨率时间,单位为纳米。通常用来判断运行时间。

runFinalization

方法:void runFinalization () 功能:运行对象的finalize方法,等待结束对象。 类似方法:

  • Runtime.getRuntime().runFinalization()

runFinalizersOnExit

方法:void runFinalizersOnExit (boolean value) 类似方法:

setErr

方法:void setErr (PrintStream err) 功能:重新分配“标准”错误输出流。 类似方法:

  • void setIn (InputStream in)
  • void setOut (PrintStream out)

作 者:ChanghuiN 原文链接:http://www.hchstudio.cn/article/2016/b897/ 版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP实战技术

PHP常用正则表达式大全

  匹配数字   "^\d+$" //非负整数(正整数 + 0)   "^[0-9]*[1-9][0-9]*$" //正整数   "^((-\d+)|(0+))...

4348
来自专栏项勇

笔记10 | 学习整理静态static 和 终态final

1315
来自专栏飞雪无情的博客

Go语言参数传递是传值还是传引用

其实对于传值和传引用,是一个比较古老的话题,做研发的都有这个概念,但是可能不是非常清楚。对于我们做Go语言开发的来说,也想知道到底是什么传递。

1643
来自专栏xx_Cc的学习总结专栏

iOS底层原理总结 - 探寻block的本质(二)

2714
来自专栏绿巨人专栏

[Java] 设计模式: Code Shape - 管理你的代码结构

4136
来自专栏绿巨人专栏

[Java] 设计模式: Code Shape - 管理你的代码结构

892
来自专栏逸鹏说道

Python3 与 C# 基础语法对比(List、Tuple、Dict专栏)

Python3 与 C# 基础语法对比(基础知识场):https://www.cnblogs.com/dotnetcrazy/p/9102030.html

23610
来自专栏个人分享

工程开发实用类与方法总结(未完)

1 .checkArgument(boolean) :   功能描述:检查boolean是否为真。 用作方法中检查参数   失败时抛出的异常类型: Illeg...

1053
来自专栏成长道路

java常用对象

boolean b=Pattern.matches("(86)*0*1\\d{10}",mobile);//大陆手机号码的匹配 日期类 Date date =...

2030
来自专栏闵开慧

java概念1

public static void main(String[] args) {//其中[]也可以写在args后面,args也可以随便写成其他字母,例如asd...

34711

扫码关注云+社区