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方法的详解下次推送给大家,敬请关注!
1
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
6
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
7
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
8
常用dos命令及语法
09-27
将视频设置为Android手机开机动画的教程
2014-12-11
PHP中include和require区别之我见
2014-09-05
php递归返回值的问题
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
学ug编程如何快速入门?
2022-03-17
java中的info是什么意思
2022-03-24
PHP数组函数array
2014-09-05
零基础的初学者怎样学习java,或者应该先学什么?
2022-03-21
猫猫地铁逃生游戏下载v2.0.0 安卓单机版
其它手游 132.24MB
下载弹壳特攻队破解版内置MOD菜单最新版下载v4.2.1 安卓无敌版
其它手游 763.71MB
下载弹壳特攻队国际服最新版(Survivor.io)下载v4.2.1安卓版
其它手游 763.71MB
下载弹壳特攻队官方正版下载v4.2.1 安卓最新版
其它手游 763.71MB
下载智勇大闯关游戏下载v1.0.3 安卓版
其它手游 110.7MB
下载智勇大闯关手机版下载v1.0.3 安卓版
其它手游 110.7MB
下载智勇大闯关最新版下载v1.0.3 安卓版
其它手游 110.7MB
下载滚动球球大乱斗游戏下载v1.0.4 安卓版
其它手游 154.73MB
下载快乐小鸡动物园最新版下载v1.8 安卓版
下载
快乐小鸡3最新版下载v1.8 安卓版
下载
英雄大行动游戏下载v1.1.1 安卓版
下载
滑草大冒险纳西妲游戏(grassskiing)下载v1.1.1 安卓最新版
下载
最强脑洞大师游戏下载v3.2.19 安卓版
下载
脑洞大师海外版下载v3.2.19 安卓版
下载
脑洞大师2手机版下载v3.2.19 安卓版
下载
小小脑洞大师最新版下载v3.2.19 安卓版
下载