System 类 和 Runtime 类的常用用法

System类的常用用法

1,主要获取系统的环境变量信息

[java]  view plain copy
  1. public static void sysProp()throws Exception{  
  2.         Map<String,String> env = System.getenv();  
  3.         //获取系统的所有环境变量  
  4.         for(String name : env.keySet()){  
  5.             System.out.println(name + " : " +env.get(name));  
  6.         }  
  7.         //获取系统的指定环境变量的值  
  8.         System.out.println(env.get("JAVA_HOME"));  
  9.   
  10.         //获取系统的所有属性  
  11.         Properties prop = System.getProperties();  
  12.         //将系统的属性保存到配置文件中去  
  13.         prop.store(new FileOutputStream("Prop.properties"),"System properties");  
  14.         //输出特定的系统属性  
  15.         System.out.println(System.getProperty("os.name"));  
  16.     }  


2,与系统时间有关的方法操作

[java]  view plain copy
  1. public static void sysTime(){  
  2.         //获取系统当前的时间毫秒currentTimeMillis()(返回当前时刻距离UTC 1970.1.1 00:00的时间差)  
  3.         Long time = System.currentTimeMillis();  
  4.         System.out.println(time);  
  5.           
  6.         Long time1 = System.nanoTime();//主要用于计算时间差单位纳秒  
  7.         Long time3 = System.currentTimeMillis();  
  8.         for(Long i =0l ;i <999l; i++){}  
  9.         Long time2 = System.nanoTime();  
  10.         Long time4 = System.currentTimeMillis();  
  11.         System.out.println(time2 - time1+ " : " +(time4 - time3));  
  12.     }  


3,鉴别两个对象在堆内存当中是否是同一个

[java]  view plain copy
  1. public static void identityHashCode(){  
  2.         //str1 str2为两个不同的String对象   
  3.         String str1 = new String("helloWorld");  
  4.         String str2 = new String("helloWorld");  
  5.         //由于String类重写了hashCode()方法 所以 他们的HashCode是一样的  
  6.         System.out.println(str1.hashCode()+" : "+str2.hashCode());  
  7.         //由于他们不是同一个对象所以他们的计算出来的HashCode时不同的。  
  8.         //实际上该方法使用的时最原始的HashCode计算方法即Object的HashCode计算方法  
  9.         System.out.println(System.identityHashCode(str1) + " : "+ System.identityHashCode(str2));  
  10.         String str3 = "hello";  
  11.         String str4 = "hello";  
  12.         //由于他们引用的是常量池中的同一个对象 所以他们的HashCode是一样的  
  13.         System.out.println(System.identityHashCode(str3) + " : "+ System.identityHashCode(str4));  
  14.         /*输出如下 
  15.             -1554135584 : -1554135584 
  16.             28705408 : 6182315 
  17.             21648882 : 21648882 
  18.         */  
  19.     }  


Runtime类的常用用法

每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。

[java]  view plain copy
  1. class RunTimeTest   
  2. {  
  3.     public static void main(String[] args) throws Exception  
  4.     {  
  5.         getJvmInfo();  
  6.         //execTest();  
  7.     }  
  8.     public static void getJvmInfo(){  
  9.         //获取Java运行时相关的运行时对象  
  10.         Runtime rt = Runtime.getRuntime();  
  11.         System.out.println("处理器数量:" + rt.availableProcessors()+" byte");  
  12.         System.out.println("Jvm总内存数 :"+ rt.totalMemory()+" byte");  
  13.         System.out.println("Jvm空闲内存数: "+ rt.freeMemory()+" byte");  
  14.         System.out.println("Jvm可用最大内存数: "+ rt.maxMemory()+" byte");  
  15.     }  
  16.     public static void execTest()throws Exception{  
  17.         Runtime rt = Runtime.getRuntime();  
  18.         //在单独的进程中执行指定的字符串命令。   
  19.         rt.exec("mspaint E:\\mmm.jpg");  
  20.     }  
  21. }  

你可能感兴趣的:(android,System,Runtime)