java学习之路----java类库----System类

本文详细介绍了System类在Java编程中的常见用途,包括计算程序运行时间、获取系统环境属性、显示系统信息以及垃圾回收机制的实现。通过实例代码演示了如何使用System类的各种方法,为开发者提供了实用的参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们都知道System.out.println();但是你对System 了解多少喃?

         1.System类的常用方法

               

值得注意的是:System类都是静态的,都是用static声明的。可以直接用类名来调用
               

          2.计算一个程序的运行时间

               public class SystemTest {
     public static void main(String[] args) {
           long timeStart=System.currentTimeMillis(); //取得开始计算之前的时间
          
              System. out.println(timeStart);
              
               int sum=0;
              
               for(int i=0;i<500000000;i++){
                   sum=sum+i;
              }
              
           long timeEnd=System.currentTimeMillis();
          
          System. out.println("程序运行时所花费的时间:" +(timeEnd-timeStart)+"毫秒"); //毫秒
     }

}

结果:
1385011880940
程序运行时所花费的时间:452毫秒


3.取得本机的全部环境属性:

          public class SystemTest {
     public static void main(String[] args) {
          System. getProperties().list(System.out); //列出本机的全部环境属性
     }

}

结果:
-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\JDK1.7\jre\bin
java.vm.version=23.1-b03
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
....(一部分,由于很多,就没有全部列出)



4.也可以列出指定的属性

          public class SystemTest {
     public static void main(String[] args) {
          System. out.println("系统版本" +System.getProperty ("os.name" )+"---" +
                   System. getProperty("os.version")+ "---"+
                   System. getProperty("os.arch")
                   );
          
          System. out.println("系统用户为" +System.getProperty ("user.name" ));
          
          System. out.println("当前用户目录" +System.getProperty ("user.home" ));
          
          System. out.println("当前用户工作目录" +System.getProperty ("user.dir" ));
     }

}

结果:
系统版本Windows 7---6.1---x86
系统用户为Administrator
当前用户目录C:\Users\Administrator
当前用户工作目录D:\GSRJ\eclipse\work\studyTest


补充:

下面是一些常用的属性名称及解释:

  os.name 操作系统的名称

 

      os.arch 操作系统的架构

 

      os.version 操作系统的版本

 

      file.separator 文件分隔符(在 UNIX 系统中是 /

 

      path.separator 路径分隔符(在 UNIX 系统中是 :

 

      line.separator 行分隔符(在 UNIX 系统中是 /n

 

      user.name 用户的账户名称

 

      user.home 用户的主目录

 

      user.dir 用户的当前工作目录

 

      java.version Java 运行时环境版本

 

      java.vendor Java 运行时环境供应商

 

      java.vendor.url Java 供应商的 URL

 

      java.home Java 安装目录

 

      java.vm.specification.version Java 虚拟机规范版本

 

      java.vm.specification.vendor Java 虚拟机规范供应商

 

      java.vm.specification.name Java 虚拟机规范名称

 

      java.vm.version Java 虚拟机实现版本

 

      java.vm.vendor Java 虚拟机实现供应商

 

      java.vm.name Java 虚拟机实现名称

 

      java.specification.version Java 运行时环境规范版本

 

      java.specification.vendor Java 运行时环境规范供应商

 

      java.specification.name Java 运行时环境规范名称

 

      java.class.version Java 类格式版本号

 

      java.class.path Java 类路径

 

      java.library.path 加载库时搜索的路径列表

 

      java.io.tmpdir 默认的临时文件路径


      java.compiler 要使用的 JIT 编译器的名称




5.垃圾回收的对象

                    在Runtime中有个垃圾回收的GC
                              在System类中也有一个,这个只不过是Runtime类的GC进行了封装
看下源代码:

            public static void gc() {
        Runtime. getRuntime().gc();
    }

 public native void gc();

          你知道如何对一个对象进行回收吗?

          代码:

class Person{
     private String name;
     private int age ;
     


     


     public Person(String name, int age) {
           this.name = name;
           this.age = age;
     }



     @Override
     public String toString() {
          
           return "姓名" +this.name+"年齡"+ this.age ;
     }
     


     public void finalize() throws Throwable {//对象释放空间的时候默认调用此方法
          
          System. out.println("对象被释放" +this);
     }

}

public class SystemTest {
     

     public static void main(String[] args) {
          Person per=new Person( "like", 20);
          per= null;//释放空间
          System. gc();//强制释放空间
     }
  

结果:
对象被释放姓名like年齡20


6.对象的生命周期
               初始化--->对象实例化-->垃圾收集--->对象终结--->卸载(被程序卸载)
          






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值