求一下java for 循环 机器指令数

iamsangster 2007-07-16 05:45:07
long num = 10000000000l;
long l = System.currentTimeMillis();
for (long j = 0 ; j < num; j++)
{
}

共多少机器指令,我的机子运行约10s; num 百亿
...全文
247 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamsangster 2007-08-22
  • 打赏
  • 举报
回复
System.out.println(); 会死人的
codeartisan 2007-07-17
  • 打赏
  • 举报
回复
源代码:
package action;
public class Test {
public static void main(String[] args) {
long num = 10000000000l;
long l = System.currentTimeMillis();
for (long j = 0; j < num; j++) {
System.out.println();
}
}
}

==========================================================================

虚拟机指令:

// class version 49.0 (49)
// access flags 33
public class action/Test {

// compiled from: Test.java

// access flags 1
public <init>()V
L0 (0)
LINENUMBER 2 L0
ALOAD 0
INVOKESPECIAL java/lang/Object.<init>()V
RETURN
L1 (4)
LOCALVARIABLE this Laction/Test; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1

// access flags 9
public static main([Ljava/lang/String;)V
L0 (0)
LINENUMBER 4 L0
LDC 10000000000
LSTORE 1
L1 (3)
LINENUMBER 5 L1
INVOKESTATIC java/lang/System.currentTimeMillis()J
LSTORE 3
L2 (6)
LINENUMBER 6 L2
LCONST_0
LSTORE 5
L3 (9)
GOTO L4
L5 (11)
LINENUMBER 7 L5
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
INVOKEVIRTUAL java/io/PrintStream.println()V
L6 (14)
LINENUMBER 6 L6
LLOAD 5
LCONST_1
LADD
LSTORE 5
L4 (19)
LLOAD 5
LLOAD 1
LCMP
IFLT L5
L7 (24)
LINENUMBER 9 L7
RETURN
L8 (26)
LOCALVARIABLE args [Ljava/lang/String; L0 L8 0
LOCALVARIABLE num J L1 L8 1
LOCALVARIABLE l J L2 L8 3
LOCALVARIABLE j J L3 L7 5
MAXSTACK = 4
MAXLOCALS = 7
}


====================================================================
嫌javap麻烦的话,装一个bytecode插件就好咯。
codeartisan 2007-07-16
  • 打赏
  • 举报
回复
嫌javap麻烦的话,装一个bytecode插件就好咯。
KingNE 2007-07-16
  • 打赏
  • 举报
回复
up
lcllcl987 2007-07-16
  • 打赏
  • 举报
回复
用javap命令看一下不就ok?

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧