System类Runtime类Robot类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System类Runtime类Robot类相关的知识,希望对你有一定的参考价值。
System类:
System类主要是用来操作、获得系统相关的一些东西,例如之前用到的获取系统时间的方法System.currentTimeMillis();
运行结果:
getenv();方法:
使用getenv方法可以得到jdk在环境变量的路径,还有classpath、java_home等等路径方面的信息。例如:
运行结果:
getProperties();方法:
使用getProperties();方法可以获得JDK的各方面信息。例如版本号,所属公司,JVM等等信息。
例如:
运行结果:
不过这样获得打印出来的方式比较乱不够直观,所以可以使用Set集合将需要的类型以集合的类型保存到变量中,然后使用这个变量进行遍历打印出来。
代码示例:
System.arraycopy();方法:
System.arraycopy();方法是用来在内存中进行数组拷贝的
System.arraycopy(src, srcPos, dest, destPos, length);
src表示:从哪个数组开始拷贝
srcPos表示:从数组的第几个开始拷贝
dest表示:拷贝到哪个数组
destPos表示:从数组的第几个开始放入
length表示:拷贝多少长度
代码示例:
运行结果:
从num数组的第0个开始拷贝,拷贝到number数组,从number数组的第0个开始放,拷贝的长度是num数组的长度。
System.gc();
提醒垃圾回收方法。
System.exit();
直接关闭虚拟机方法。
float和double:
float和double在运算时会遇到的一些问题,就是在运算的时候会丢失精度。例如:
运行结果:
按理来说本来运行结果应该为1的,但是却损失了一点精度,是因为float和double类型主要是为科学和工程计算而设计的。它们执行的是二进制浮点运算,由于二进制的局限性,有时候无法得到准确的结果,因为在二进制中无法准确的表示10的任何负数次方值。虽然在科学计算中无关紧要,通过四舍五入可以解决问题。但是在禁止出现舍入误差的运算中(例如金融计算)就不适用了。
所以这时候就要使用到BigDecimal类。
BigDecimal类:
BigDecimal类用于解决float和double运算时会丢失精度的问题。但是double在运算次数多的时候还是会有一点点精度不够,float则可以保持精度。
代码示例:
运行结果:
BigInteger类:
BigInteger是一个能够存储很大的整型数字的类,能够存储很多很多的数字,并且不会损失精度。
运行结果:
Runtime类:
Runtime是用来使应用程序能够与其运行的环境相连接的,使用对象可以访问JVM的相关信息,如处理器数量,内存信息等。并且可以控制终端执行一些系统命令。这个类是一个单例,需要用方法才能得到对象。
例如:
exec();
exec();是比较常用的一个方法,用于控制系统终端执行系统命令。
例如使用系统命令打开一个网页:
运行结果:
其他的一些方法:
获得Jvm内存信息:
运行结果:
Robot类:
Robot是可以实现自动控制的一个类,例如自动控制鼠标,键盘,截图等功能。
控制键盘:
控制截图:
控制鼠标:
本文出自 “zero” 博客,请务必保留此出处http://zero01.blog.51cto.com/12831981/1976512
以上是关于System类Runtime类Robot类的主要内容,如果未能解决你的问题,请参考以下文章