JAVA中的System类常用方法

System类从我们接触JAVA就一直在用。可能你并不没有意识到。。。
这里简单记录一下几个方法,以后可能会用的到

System.in:
这是个用来监听键盘事件的输入流。。

System.gc():
调用垃圾回收器,注意,这里的调用不是实时生效的,因为它相当于通知了JVM要调用GC回收器去加回收空间,但GC的什么时间去执行,则由JVM来分配。

System.currentTimeMillis():
获取自1970-01-01以来现在时间的毫秒数,返回值是Long,此功能可以用来计算程序运行时间、对比时间等功能
示例代码如下:

public static void main(String[] args) {
        int count = 0;
        Long startTime = System.currentTimeMillis();
        //线程休眠100毫秒
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        Long endTime = System.currentTimeMillis();
        System.out.println("程序共耗时:"+(endTime-startTime));
    }

运行结果为;

程序共耗时:113

System.exit(1):
终止JAVA虚拟机的运行,文档说明:“终止当前正在运行的java虚拟机启动的顺序关闭。这种方法通常不返回。该参数作为状态代码;按惯例,一个非零状态码表示异常终止。”

System.arraycopy(src, srcPos, dest, destPos, length):
复制数组方法,这个方法偶而会使用,下面为使用方法及参数说明:

public static void main(String[] args) {
        int[] cs = {1,3,5,4,56,56,57,67,87,8,78,9,8989,89,9,89,89,9};
        int[] cs1 = {4,45,645,65,6,45,6};
        /*
         * System.arraycopy参数说明:
         * 参数一:要复制的数组
         * 参数二:要复制的数据起始索引
         * 参数三:目标数组
         * 参数四:目标数组的起始复制位置
         * 参数五:要复制的数组的个数
         */
        System.arraycopy(cs1, 1, cs, 1, cs1.length-1);

        printArray(cs);

    }

    public static void printArray(int[] cs){
        for(int i = 0; i < cs.length; i++){
            System.out.print(cs[i]+"\t");
        }
        System.out.println("");
    }

运行结果如下:

1   45  645 65  6   45  6   67  87  8   78  9   8989    89  9   89  89  9   

System.getProperties():
获取系统属性,包括系统版本、JDK版本等
示例代码如下:

public static void main(String[] args) {
        System.out.println(System.getProperties());

    }

运行结果如下:

{java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=C:\Program Files\Java\jdk1.8.0_121\jre\bin, java.vm.version=25.121-b13, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=;, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, file.encoding.pkg=sun.io, user.country=CN, user.script=, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=, java.vm.specification.name=Java Virtual Machine Specification, user.dir=E:\Java_Workspace\Test, java.runtime.version=1.8.0_121-b13, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=C:\Program Files\Java\jdk1.8.0_121\jre\lib\endorsed, os.arch=amd64, java.io.tmpdir=C:\Users\Ckinghan\AppData\Local\Temp\, line.separator=
, java.vm.specification.vendor=Oracle Corporation, user.variant=, os.name=Windows 10, sun.jnu.encoding=GBK, java.library.path=C:\Program Files\Java\jdk1.8.0_121\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_112/bin/server;C:/Program Files/Java/jre1.8.0_112/bin;C:/Program Files/Java/jre1.8.0_112/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Java\jdk1.8.0_121\bin;D:\JAVA_WORK\mysql-5.6.24-win32\BIN;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\Ckinghan\AppData\Local\Microsoft\WindowsApps;;D:\JAVA_WORK\eclipse-jee-neon-2-win32-x86_64\eclipse;;., java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, os.version=10.0, user.home=C:\Users\Ckinghan, user.timezone=, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=GBK, java.specification.version=1.8, java.class.path=E:\Java_Workspace\Test\bin, user.name=Ckinghan, java.vm.specification.version=1.8, sun.java.command=com.ckinghan.SystemDemo1, java.home=C:\Program Files\Java\jdk1.8.0_121\jre, sun.arch.data.model=64, user.language=zh, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, java.version=1.8.0_121, java.ext.dirs=C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext;C:\Windows\Sun\Java\lib\ext, sun.boot.class.path=C:\Program Files\Java\jdk1.8.0_121\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_121\jre\classes, java.vendor=Oracle Corporation, file.separator=\, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=amd64}

System.getProperty(key):
根据参数返回系统属性。
示例如下:

public static void main(String[] args) {
        System.out.println(System.getProperty("os.name"));

    }

运行结果如下 :

Windows 10

可选参数如下:

Key Description of Associated Value 
java.version Java Runtime Environment version 
java.vendor Java Runtime Environment vendor 
java.vendor.url Java vendor URL 
java.home Java installation directory 
java.vm.specification.version Java Virtual Machine specification version 
java.vm.specification.vendor Java Virtual Machine specification vendor 
java.vm.specification.name Java Virtual Machine specification name 
java.vm.version Java Virtual Machine implementation version 
java.vm.vendor Java Virtual Machine implementation vendor 
java.vm.name Java Virtual Machine implementation name 
java.specification.version Java Runtime Environment specification version 
java.specification.vendor Java Runtime Environment specification vendor 
java.specification.name Java Runtime Environment specification name 
java.class.version Java class format version number 
java.class.path Java class path 
java.library.path List of paths to search when loading libraries 
java.io.tmpdir Default temp file path 
java.compiler Name of JIT compiler to use 
java.ext.dirs Path of extension directory or directories 
os.name Operating system name 
os.arch Operating system architecture 
os.version Operating system version 
file.separator File separator ("/" on UNIX) 
path.separator Path separator (":" on UNIX) 
line.separator Line separator ("\n" on UNIX) 
user.name User's account name 
user.home User's home directory 
user.dir User's current working directory 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值