System类

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。其包含一些有用的字段和方法,不能被实例化


system中包含了in、out和err三个成员变量,分别代表标准输入流(键盘输入)、标准输出流(显示器)和标准错误输出流(显示器)

public final static InputStream in;
//标准输入流
public final static PrintStream out;
//标准输出流
public final static PrintStream err;
//标准错误流

由此可见,system中的out和in都不是内部类,是成员变量.out是PrintStream的final static来修饰变量,由此可见,out是可以调用printStream中的方法的。例如,system.out.println中的println就是printStream中的一种输出方法。

System中常用的方法

  1. System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length);

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

    int[] arr = {1,2,3,4,5};
    int[] arr2 = {6,7,8,9,10};
    System.arraycopy(arr,1,arr2,2,2);//有点类似于js里面的splice,替换掉了2个值
    System.out.println(Arrays.toString(arr));//[1,2,3,4,5]
    System.out.println(Arrays.toString(arr2));//[6,7,2,3,10]
  2. System.currentTimeMillis()

    返回当前时间以毫秒为单位。和Date类中的getTime方法类似。

    public class SystemDemo {
    public static void main(String[] args) {
    //统计这段程序运行时间
    long start = System.currentTimeMillis();
    for (int x = 0; x < 10000; x++){
    System.out.println("Hello" + x);
    }
    long end = System.currentTimeMillis();
    System.out.println("共耗时" + (end - start) + "毫秒");
    }
    } //运行结果
    //Hello9997
    //Hello9998
    //Hello9999
    //共耗时79毫秒
  3. System.gc()

    可用于垃圾回收, java垃圾回收器,这个方法不需要我们去调用,jvm发现系统有未使用的对象,会自己进行执行。不要在程序中频繁的调用垃圾回收,因为每一次执行垃圾回收jvm都会强制启动垃圾回收器运行,就会耗费更多的系统资源会与正常的Java程序运行争抢资源,只有在执行大量的对象的释放才调用垃圾回收最好。

  4. System.getProperty()

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

    public class test {
    public static void main(String[] args) {
    System.out.println(System.getProperties());//系统属性
    System.out.println(System.getProperty("java.version"));// java运行环境版本
    System.out.println(System.getProperty("java.home"));// java安装目录
    System.out.println(System.getProperty("os.name"));// 操作系统名称
    System.out.println(System.getProperty("os.version"));// 操作系统版本
    System.out.println(System.getProperty("user.name"));// 用户账户名称
    System.out.println(System.getProperty("user.home"));// 用户主目录
    System.out.println(System.getProperty("user.dir"));// 当前工作目录
    }
    }

    结尾:

    初步学习一些吧,以后有更多的再来补充。

最新文章

  1. Spring事务管理
  2. 关于python的最大递归层数详解
  3. 20150514Linux下rpm包安装错误及解决方案
  4. Depth Bias 以及 Ogre材质中的depth_bias
  5. C++学习笔记3:一些错误
  6. (整理)streamWriter、streamReader与FileStream
  7. Unity之读取本地图片
  8. 第一章:selenium + java 环境安装
  9. css3 ajax加载进度线
  10. 第十六章:Python の Web开发基础(三) jQuery与Ajax
  11. Java多线程应用总结
  12. python学习日记(基础数据类型及其方法02)
  13. 缓存淘汰算法---LRU转
  14. 自学Linux Shell6.3-系统环境变量持久化
  15. zoj Beautiful Number(打表)
  16. 使用spring单元调试出错initializationError
  17. HDU 1050 Moving Tables (贪心)
  18. CentOS 7 防火墙端口配置
  19. JS操作frame框架
  20. c++之随堂笔记

热门文章

  1. Redis——基础使用
  2. Spring 集成Kafka(完整版)
  3. MySQL-EXPLAIN执行计划Extra解释
  4. 100天搞定机器学习|Day16 通过内核技巧实现SVM
  5. String与new String()的区别
  6. map的实现和柯里化(Currying)
  7. C++7行代码实现求最大公约数
  8. 欢迎加入我的知识星球:C语言解惑课堂
  9. 集合中Iterator迭代器的使用以及实现原理。
  10. js-获取屏幕的中各种宽高