大家运行下这段代码,单步执行时d3-d2,time不为0,直接运行时d3-d2,time为0
各位看看这是为什么import java.util.*;
public class test2
{
public static void main(String[] args)
{
mythread th1 = new mythread();
th1.start(); }
}
class mythread extends Thread
{
int n=0;
public static float sum = 0;
public void run()
{
try
{
int n =new Random().nextInt(100000); //限制在大于10小于1000的数
if (n<=0)
{
n= -n+10;
}
else
{
n=n+10;
} //限制在大于10小于1000的数
System.out.println("总共"+n+"个数"); Date d1 = new Date(); //获取系统当前时间
System.out.println("datetime1="+d1.getTime()); float [] nums = new float[n];
for (int i=0;i<n ;i++ )
{
nums[i] = new Random().nextFloat()*10000000;
}
Date d2 = new Date(); //获取系统当前时间
System.out.println("datetime2="+d2.getTime()); for (int j = 0;j<n ;j++ )
{
sum = sum+nums[j];
}
Date d3 = new Date(); //获取系统当前时间
System.out.println("datetime3="+d3.getTime());
long time3 = d3.getTime()-d2.getTime();
System.out.println("sum="+sum);
System.out.println("d2-d1,time="+(d2.getTime()-d1.getTime()));
System.out.println("d3-d2,time="+time3);
}
catch (Exception err)
{
System.out.print(err);
}
}
}
各位看看这是为什么import java.util.*;
public class test2
{
public static void main(String[] args)
{
mythread th1 = new mythread();
th1.start(); }
}
class mythread extends Thread
{
int n=0;
public static float sum = 0;
public void run()
{
try
{
int n =new Random().nextInt(100000); //限制在大于10小于1000的数
if (n<=0)
{
n= -n+10;
}
else
{
n=n+10;
} //限制在大于10小于1000的数
System.out.println("总共"+n+"个数"); Date d1 = new Date(); //获取系统当前时间
System.out.println("datetime1="+d1.getTime()); float [] nums = new float[n];
for (int i=0;i<n ;i++ )
{
nums[i] = new Random().nextFloat()*10000000;
}
Date d2 = new Date(); //获取系统当前时间
System.out.println("datetime2="+d2.getTime()); for (int j = 0;j<n ;j++ )
{
sum = sum+nums[j];
}
Date d3 = new Date(); //获取系统当前时间
System.out.println("datetime3="+d3.getTime());
long time3 = d3.getTime()-d2.getTime();
System.out.println("sum="+sum);
System.out.println("d2-d1,time="+(d2.getTime()-d1.getTime()));
System.out.println("d3-d2,time="+time3);
}
catch (Exception err)
{
System.out.print(err);
}
}
}
datetime1=1244265560949
datetime2=1244265561036
datetime3=1244265561058
sum=2.8584729E11
d2-d1,time=87
d3-d2,time=22无聊的测试