知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术  > CSS教程

system在Java中是什么意思

发表时间:2022-03-24来源:网络

还记得你们的第一个Java入门程序“hello world!”吗?它的输出语句是:System.out.println("hello world!");请问大家对这条语句知道多少呢?out是一个变量还是一个内部类呢?有的时候看起来比较简单的东西,越容易被我们所忽略。下面开始剖析System类。

1、System类简介

System类代表当前Java程序的运行平台,位于java.lang包下,该类被private修饰,所以不能创建System类的对象,System类提供了一些类变量和方法,允许直接通过System类来调用这些类变量和方法。

System类提供了代表标准输入、标准输出和错误输出的类变量,并提供了一些静态方法用于访问环境变量、系统属性的方法,还提供了加载文件和动态链接库的方法。

2、访问操作系统的环境变量和系统属性

首先看下下面的程序:

上面程序通过调用System类的System.getenv()、System.getProperties()、System.getProperty()等方法来访问程序所在的平台的环境变量和系统属性,程序运行的结果会输出操作系统所有的环境变量,并输出JAVA_HOME环境变量,以及os.name系统属性的值,运行结果由于太多,这里就不展示了,大家可以自己动手执行下代码看具体的运行结果。

该程序运行结束后,还会在当前路径下生成一个props.txt文件,该文件记录了当前平台的所有系统属性。

3、获取系统当前时间

System类还有两个获取系统当前时间的方法:System.currentTimeMillis();System.nanoTime();它们都返回一个long型的整数,前者以毫秒为单位,后者以纳秒为单位。必须指出的是,这两个方法的时间粒度取决于底层的操作系统。

4、标准输入、输出和错误输入流

System类的in、out和err分别代表系统的标准输入(通常是键盘)、标准输出(通常是显示器)和错误输出流,并提供了setIn()、setOut()和setErr()方法来改变系统的标准输入、标准输出和标准错误输入流。

5、identityHashCode()

System类还提供了一个identityHashCode(Object x)方法,该方法返回指定对象的精确hashCode值,也就是根据该对象的地址计算得到的hashCode值。当某个类的hashCode()方法被重写后,该类实例的hashCode()方法就不能唯一地标识该对象;但通过identityHashCode()方法返回的hashCode值,依然是根据该对象的地址计算得到的hashCode值。所以,如果两个对象的identityHashCode值相等,则两个对象绝对是同一个对象。

6、gc()

调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象或失去了所有引用的对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。

7、exit()

exit(int)方法终止当前正在运行的 Java 虚拟机,参数解释为状态码。根据惯例,非 0 的状态码表示异常终止。这是唯一一个能够退出程序并不执行finally的情况。说明:退出虚拟机会直接终止整个程序,这时的程序已经不是从代码的层面来终止程序。

System类的in、out和err方法的详解下次推送给大家,敬请关注!

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜