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"));// 当前工作目录
    }
    }

    结尾:

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

System类入门学习的更多相关文章

  1. Java—System类入门学习

    第三阶段 JAVA常见对象的学习 System类 System类包含一些有用的字段和方法,他不能被实例化 //用于垃圾回收 public static void gc() //终止正在运行的java虚 ...

  2. Math类入门学习

    Math类 Math类包含用于执行基本的数字运算等基本指数.对数.平方根法.三角函数. import java.lang.*; public class TestMath { public stati ...

  3. Integer类入门学习

    Integer类 它是一个类,是 int 基本数据类型的封装类. 基本API Integer 类和 int 的区别 Integer 是 int 包装类,int 是八大基本数据类型之一(byte,sho ...

  4. Java api 入门教程 之 JAVA的SYSTEM类

    System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成员变 ...

  5. python入门学习:8.类

    python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类   面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...

  6. System类学习笔记

    最近在学习源码的过程中发现:很多深层次的代码都用到了一个类System类,所以决定对System类一探究竟 本文先对System类进行了剖析,然后对System类做了总结 一.首先对该类的中的所有字段 ...

  7. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  8. java学习笔记之System类

    System类常用总结 System类概述 java.lang.System类,系统属性信息工具类 常用静态方法: 1. public static long currentTimeMillis() ...

  9. Java学习笔记25(System类)

    System类,系统类,包含的是静态方法,无法创建对象 这里介绍几个简单的方法,其他一些在后边用到的时候会讲 类方法: currentTimeMillis():获取当前毫秒数 package demo ...

随机推荐

  1. Java——反射:运行时的类信息

    RTTI的使用 如果不知道某个对象的确切类型,RTTI会告诉我们,但是有一个限制:这个类型在编译时必须已知,这样才能使用RTTI识别它,并利用这些信息做一些有用的事情.  2.什么情况下需要反射 假设 ...

  2. 使用PIP键盘输入数字小数位--Smart LCD

    应用范例: 使用TOPWAY Smart LCD (HMT050CC-C) 使用PIP键盘输入数字小数位 第一步 建立工程 第二步 建立三个页面,导入图片 点击工作区域, 右面显示页面属性 属性中Ba ...

  3. 记一次解决tomcat自动关闭的bug

    最近一个运行了4年的javaee web项目,经常接到客户反馈系统无法打开.登录服务器查看服务,发现是tomcat自动关闭了.基本是3到4天发生一次. 运维人员开始以为是其他服务杀死了tomcat服务 ...

  4. h5中div边距去除

    style样式里面加上 <style> *{ margin:0 ;//外边距为0 padding:0;//内边距为0 } </style>

  5. js-DOM中基础选择器的整理

    DOM中基础选择器的整理 注意:DOM中选择器返回是数组类型的都是伪数组,只能拥有数组的索引以及length,数组的其他方法是不可以使用的! 一:DOM中的选择器 1.getElementById(i ...

  6. python+jinja2实现接口数据批量生成工具

    在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢. 答案是肯定的! ...

  7. Java 并发:学习Thread 类

    Java 中 Thread类 的各种操作与线程的生命周期密不可分,了解线程的生命周期有助于对Thread类中的各方法的理解.一般来说,线程从最初的创建到最终的消亡,要经历创建.就绪.运行.阻塞 和 消 ...

  8. Leetcode之深度优先搜索(DFS)专题-329. 矩阵中的最长递增路径(Longest Increasing Path in a Matrix)

    Leetcode之深度优先搜索(DFS)专题-329. 矩阵中的最长递增路径(Longest Increasing Path in a Matrix) 深度优先搜索的解题详细介绍,点击 给定一个整数矩 ...

  9. Mac os 下 python爬虫相关的库和软件的安装

      由于最近正在放暑假,所以就自己开始学习python中有关爬虫的技术,因为发现其中需要安装许多库与软件所以就在这里记录一下以避免大家在安装时遇到一些不必要的坑. 一. 相关软件的安装:   1. h ...

  10. c# timestamp转换datetime

    一.Codes class Program { static void Main(string[] args) { ); } public static DateTime UnixTimeStampT ...