本帖最后由 仲伟 于 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的属性对应的值。系统中常见的属性名以及属性的作用如下表所示。- package Test;
- import java.io.IOException;
- public class RuntimeDome {
- public static void main(String[] args) throws Exception {
-
- //Runtime.exec()方法的所有重载。
- //这里要注意的有一点,就是
- //public Process exec(String [] cmdArray, String [] envp);
- Runtime.getRuntime().exec("cmd");
-
- //默认值 64兆 java -cp ClassPath -Xmx512m ClassName,
- //那么最大内存就是512*1024*0124字节
- System.out.println(""+Runtime.getRuntime().maxMemory());
-
-
- //status - 终止状态。
- //按照惯例,非零的状态码表明非正常终止。
- //如果已经调用了 exit(System.exit 也一样)方法,
- //那么该状态码将重写已传递至此方法的状态码
- Runtime.getRuntime().halt(0);
- }
- }
复制代码 |