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
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
6
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
7
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
8
PHP中include和require区别之我见
09-05
常用dos命令及语法
2014-09-27
将视频设置为Android手机开机动画的教程
2014-12-11
php递归返回值的问题
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
java中的info是什么意思
2022-03-24
IcePHP框架中的快速后台中的通用CRUD功能框架
2014-09-05
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
PHP数组函数array
2014-09-05
学ug编程如何快速入门?
2022-03-17
无尽洪荒手游正版下载v10.0.83 安卓最新版本
角色扮演 32.7M
下载美职篮巅峰对决游戏下载v1.6.400 安卓版
体育运动 1.31G
下载朕的江山手游下载v2.17.31 安卓正式版
策略塔防 1.66G
下载保卫萝卜3官方正版下载v5.2.0 安卓最新版本
休闲益智 551.4M
下载奥特曼之格斗超人最新版本下载v12.0.0 安卓手机版
动作闯关 639.8M
下载三国志幻想大陆官方正版下载v5.9.0 安卓最新版
卡牌对战 741.0M
下载狂野钓鱼2无限钻石版下载v1.0.9 安卓破解版内置菜单
休闲益智 172.4M
下载网易赤痕夜之仪式手游版(bloodstainedrotn)下载v1.34 安卓版
角色扮演 1.65G
下载碉少堡独立服海岛奇兵下载v60.1.2 安卓版
下载
海岛奇兵联想版本下载v60.1.2 安卓版
下载
火影忍者木叶高手游戏下载v1.0.2 安卓版
下载
海岛奇兵网易云版下载v60.1.2 安卓版
下载
刀塔霸业手游(Underlords)下载v1.1.0 安卓版
下载
海岛奇兵微信版本下载v60.1.2 安卓版
下载
海岛奇兵华为账号登录版下载v60.1.2 安卓版
下载
海岛奇兵拇指玩版本下载v60.1.2 安卓版
下载