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

我们都知道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、付费专栏及课程。

余额充值