分别在命令行和eclipse运行java程序,有什么区别??
我看到一篇帖子,“把‘Hello’打印十次”。于是我用以下代码验证到底直接输出和循环输出哪种耗时少:
------------------------------***************************************--------------------------------
public class Printhello
{
public static void main(String[] args)
{
long t_start = 0 ,t_end = 0;
t_start = System.nanoTime();
System.out.println("Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello ");
t_end = System.nanoTime();
System.out.println("直接输出耗时:"+(t_end-t_start)+"纳秒");
t_start = System.nanoTime();
for(int i = 1;i <= 10; i++)
{System.out.print("Hello ");}
t_end = System.nanoTime();
System.out.println();
System.out.println("循环输出耗时:"+(t_end-t_start)+"纳秒");
}
}
--------------------------------****************************************----------------------
我在eclipse上多次运行,发现 循环输出 耗时少,后在dos下多次运行,结果相反。请问大家为什么出现这种区别??后来我在eclipse里把直接输出和循环输出部分的代码互换位置,结果是 直接输出 耗时少,再问大家这又是为什么??
欢迎高手指教,欢迎分享优质的具上述功能的代码!!!!
------解决方案--------------------你搜搜ide和dos运行机制。
------解决方案--------------------其实最终都是调用java虚拟机运行,出现你说的这种情况,可能是jdk环境不一样或者传入参数不一样。
------解决方案--------------------dos下运行和IDE中运行都是调用java命令启动JVM运行的,不同的是运行参数不一样,dos下会检查class的有效性,IDE下不会(在调用命令前久检查过了)