黑马程序员技术交流社区

标题: system类问题 [打印本页]

作者: 仲伟    时间: 2013-5-13 19:18
标题: system类问题
本帖最后由 仲伟 于 2013-5-14 10:01 编辑

system类

1.首先要是就是输入输出方法介绍一下他们区别
        System.out;//这个标准输出,输出
        System.err;//错误输出流,多使用出错和调试时
        后面可以接PrintStream的方法
        System.in; //键盘输入流,
   如果你用LOG4J记录日志的话,且设定错误等级的话  
   System.err的输出是将记录到日志中,
   说到这就有 重新分配,这个就跟IO流联系在一起

        system.setOut(printStream out);
        system.setErr(printStream err);
        system.setIn(InputStream in);
         /*想过没有System.in.read(), 还可以这么用*/
        关于System.in.read()方法
        http://bbs.itheima.com/thread-47834-1-1.html
        为什么我打印控制台输入的汉字都是乱码?
        http://bbs.itheima.com/thread-45950-1-1.html

2.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
    从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
       int[] a = {1,2,3,4};
      int[] b = new int[5];
      System.arraycopy(a,1,b,3,2);
     a数组源数组,b就是目的数组,从a[1]复制到b[3],从a[2]
     复制到b[4],最后那个一共复制2个,b的结果就是b[0,0,0,2,3]
      /*这里小心数组越界*/
     /*java System.arraycopy方法的问题*/
   System.arraycopy问题
http://bbs.itheima.com/thread-49796-1-1.html

3.currentTimeMillis方法
   1970年1月1号0时0分0秒所差的毫秒数
   long start = System. currentTimeMillis();
         for(int i = 0;i < 100000000;i++){
                   int a = 0;

         }
         long end = System. currentTimeMillis();

         long  time = end – start
   运行多长时间这个for方法
4.exit方法  
   system.exit(0);正常退出;
   system.exit(status);
   该方法的作用是退出程序。
   其中status的值为0代表正常退,
   非零代表异常退出。

   假如你的JVM学习很好,你想考虑一下 sysetm.exit(-1);
   本人才疏学浅,不怎么会看源代码
5.gc方法
   System.gc();
   Runtime.getRuntime().gc()
   Runtime.gc()
   finalize与system.gc()
   http://bbs.itheima.com/thread-49797-1-1.html

   该方法的作用是请求系统进行垃圾回收。
   至于系统是否立刻回收,
   则取决于系统中垃圾回收算法的实现以及系统执行时的情况。
6.getProperty方法

   System.getProperties();//所有的系统属性
   System.getProperty(String key);
   key 获取指定键指示的系统属性;
   该方法的作用是获得系统中属性名为key的属性对应的值。系统中常见的属性名以及属性的作用如下表所示。
  1. package Test;

  2. import java.io.IOException;

  3. public class RuntimeDome {

  4.         public static void main(String[] args) throws Exception {
  5.                
  6.                 //Runtime.exec()方法的所有重载。
  7.                 //这里要注意的有一点,就是
  8.                 //public Process exec(String [] cmdArray, String [] envp);
  9.                 Runtime.getRuntime().exec("cmd");
  10.                
  11.                 //默认值 64兆         java -cp ClassPath -Xmx512m ClassName,
  12.                 //那么最大内存就是512*1024*0124字节
  13.                 System.out.println(""+Runtime.getRuntime().maxMemory());
  14.                
  15.                
  16.                 //status - 终止状态。
  17.                 //按照惯例,非零的状态码表明非正常终止。
  18.                 //如果已经调用了 exit(System.exit 也一样)方法,
  19.                 //那么该状态码将重写已传递至此方法的状态码
  20.                 Runtime.getRuntime().halt(0);
  21.         }

  22. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2