博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java System与Runtime类常用方法
阅读量:3928 次
发布时间:2019-05-23

本文共 2832 字,大约阅读时间需要 9 分钟。

 

一、System类

System类包含几个有用的类字段和方法。 它不能被实例化。

System类提供的System包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 一种加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。

   

方法等:

    • static void ( src, int srcPos,  dest, int destPos, int length)

      将指定源数组中的数组从指定位置复制到目标数组的指定位置。

      static long ()

      返回当前时间(以毫秒为单位)。

      static void (int status)

      终止当前运行的Java虚拟机。

      static void ()

      运行垃圾回收器。

      static ()

      确定当前的系统属性。

      static ( key)

      获取指定键指示的系统属性。

1、arraycopy 数组复制方法

     参数 

       src - 源数组。 
       srcPos - 源数组中的起始位置。 
       dest - 目标数组。 
       destPos - 目的地数据中的起始位置。 
       length - 要复制的数组元素的数量。 

public static void main(String[] args) {        int[] src = {1,2,3,4,5,6,7,8,9,10};        int[] dest = new int[10];        System.arraycopy(src, 3, dest,5,4);        for (int i : dest) {            System.out.print(dest[i] + "-"); //0-0-0-0-0-0-4-5-6-0-        }    }

2、currentTimeMillis:获取系统当前毫秒值

public static void main(String[] args) {        long start = System.currentTimeMillis();        int[] src = {1,2,3,4,5,6,7,8,9,10};        int[] dest = new int[10];        System.arraycopy(src, 3, dest,5,4);        for (int i : dest) {            System.out.print(dest[i] + "-"); //0-0-0-0-0-0-4-5-6-0-        }        long end = System.currentTimeMillis();        System.out.println("程序运行时间为毫秒:"+(end-start)); //1    }

3、exit:终止当前运行的Java虚拟机

     该参数作为状态代码; 按照惯例,非零状态码表示异常终止。

int[] src = {1,2,3,4,5,6,7,8,9,10};        int[] dest = new int[10];        System.exit(0);

       

4、gc:运行垃圾回收器。加深理解参考文章:

      用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

      调用 System.gc() 方法,不一定能自动调用finalize()方法进行垃圾回收。

public class HelloWorld {    //清除垃圾时,会默认调用被清空对象的finalize方法。    @Override    public void finalize() throws Throwable {        System.out.println("垃圾来回收了");    }    public static void main(String[] args) {        new HelloWorld();        System.gc();    }}

5、getProperties()  getProperty(String key)  获取当前的系统属性

System.out.println(System.getProperties());        System.out.println(System.getProperty("os.name")); // Windows 10

    各个属性关系对应图如下:

     

二、Runtime类

每个Java应用程序都有一个Runtime类的Runtime ,允许应用程序与运行应用程序的环境进行接口。 当前运行时可以从getRuntime方法获得。

应用程序无法创建自己的此类的实例。

== 单例设计模式 ==

   

方法等:

    • int ()

      返回可用于Java虚拟机的处理器数量。

      ( command)

      在单独的进程中执行指定的字符串命令。

      void (int status)

      通过启动其关闭序列来终止当前正在运行的Java虚拟机。

      long ()

      返回Java虚拟机中的可用内存量。

      void ()

      运行垃圾回收器。

      static ()

      返回与当前Java应用程序关联的运行时对象。

      long ()

      返回Java虚拟机将尝试使用的最大内存量。

      long ()

      返回Java虚拟机中的内存总量。

1、测试demo

public static void main(String[] args) {        Runtime runtime = Runtime.getRuntime();     // 获取当前程序的runtime        System.out.println(runtime.availableProcessors());    // 返回可用于Java虚拟机的处理器数量。        System.out.println(runtime.maxMemory());    // 返回Java虚拟机将尝试使用的最大内存量。        System.out.println(runtime.freeMemory());   // 返回Java虚拟机中的可用内存量。        System.out.println(runtime.totalMemory());  // 返回Java虚拟机中的内存总量。        try {            runtime.exec("notepad.exe");//打开记事本。        } catch (IOException e) {            e.printStackTrace();        }    }====81886912512124876680128974848

 

ends ~

转载地址:http://bncgn.baihongyu.com/

你可能感兴趣的文章
学术英语 | (1) wordList1
查看>>
机器学习 | 台大林轩田机器学习技法课程笔记3 --- Kernel Support Vector Machine
查看>>
机器学习 | 台大林轩田机器学习技法课程笔记7 --- Blending and Bagging
查看>>
学术英语 | (6) WordList6
查看>>
线性代数 | (5) 线性方程组
查看>>
学术英文 | (7) Unit3Words
查看>>
线性代数 | (6) 相似对角形
查看>>
学术英语 | (8) WordList7
查看>>
概率论与数理统计 | (1) 概率论初步Part One
查看>>
概率论与数理统计 | (2) 概率论初步Part Two
查看>>
概率论与数理统计 | (3) 随机变量
查看>>
学术英语 | (9) WordList8
查看>>
概率论与数理统计 | (4) 二元随机变量Part One
查看>>
学术英语 | (10) WordList9
查看>>
李航机器学习 | (2) 统计学习方法(第2版)笔记 --- 感知机
查看>>
动手学PyTorch | (33) 通过时间反向传播
查看>>
动手学PyTorch | (35) 长短期记忆(LSTM)
查看>>
动手学PyTorch | (37) 优化与深度学习
查看>>
动手学PyTorch | (39) 小批量随机梯度下降
查看>>
动手学PyTorch | (41) Adagrad算法
查看>>