java.Lang. System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在5ystem类的API文档中,
常用的方法有: public static long currentTimeMillis():返回以毫秒为单位的当前时间。
public static void arraycopy(0bject src,int srcPos,Object dest,int destPos,int length): 将数组中指定的数据拷贝到另一个数组中。
例子:
public static void main(String[] args) { demo2(); } private static void demo2() { int[] src = {1,2,3,4,5}; int[] dest = {6,7,8,9,10}; System.out.println(Arrays.toString(dest)); System.arraycopy(src,0,dest,0,3); System.out.println(Arrays.toString(dest)); } public static void demo1(){ long l = System.currentTimeMillis(); for (int i = 0; i <=9999; i++) { System.out.println(i); } long l1 = System.currentTimeMillis(); System.out.println(l1-l); }
StringBuilder原理:
string类
字符串是常量;它们的值在创建之后不能更改。
字符串的底层是一个被final修饰的数组,不能改变,是一个常量
进行字符串的相加,内存中就会有多个字符串,占用空间多,效率低下
String s = "a" + "b"+"c" = "abc";
String Builder类
字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)
底层也是一个数组,但是没有被final修饰,可以改变长度
byte[] value = new byte[16];
“a”+"b"+"c"= "abc"
StringBuilder在内存中始终是一个数组,占用空间少,效率高
如果超出了StringBuilder的容量,会自动的扩容