社区
Java SE
帖子详情
求一下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
打赏
收藏
求一下java for 循环 机器指令数
long num = 10000000000l; long l = System.currentTimeMillis(); for (long j = 0 ; j < num; j++) { } 共多少机器指令,我的机子运行约10s; num 百亿
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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?
Java
代码到底是如何编译成
机器指令
的
在《
Java
代码的编译与反编译》中,有过关于
Java
语言的编译和反编译的介绍。我们可以通过
java
c命令将
Java
程序的源代码编译成
Java
字节码,即我们常说的class文件。这是我们通常意义上理解的编译。 但是,字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成
机器指令
。这个过程是
Java
虚拟机做的,这个过程也叫编译。是更深层次的编译。 在编译原理中,把源代码翻译成
机器指令
,一般要经过以下几个重要步骤: 根据完成任务不同,可以将编译器的组成部分划分为前端(Front End)与.
java
循环
遍历_
JAVA
中
循环
遍历list有三种方式
转自:https://blog.csdn.net/changjizhi1212/article/details/81036509
JAVA
中
循环
遍历list有三种方式for
循环
、增强for
循环
(也就是常说的foreach
循环
)、iterator遍历。1、for
循环
遍历listfor(int i=;iif(list.get(i).equals("del"))list.remove(i);}这种方式的问...
java
foreach效率高_
Java
8的forEach效率真的不如for
循环
吗
前段时间在论坛里看到有同学做过实验,对for
循环
和forEach
循环
每个执行一千万次,for
循环
耗时7.864毫秒,forEach
循环
耗时23.638毫秒,然后得出结论for
循环
的性能远远大于forEach
循环
,我觉得这是不严谨的。首先JVM的Hot Spot采用JIT技术,它会将运行频率很高的字节码直接编译为
机器指令
以提高性能;其次JVM执行某一方法或遍历
循环
的次
数
越多就会越了解代码结构并作出相...
Java
代码到机器码
在《
Java
代码的编译与反编译》中,有过关于
Java
语言的编译和反编译的介绍,我们可以通过
java
c命令将
Java
程序的源代码编译成
Java
字节码,即我们常说的class文件,这是我们通常意义上理解的编译。 但是,字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成
机器指令
,这个过程是
Java
虚拟机做的,这个过程也叫编译,是更深层次的编译。 在编译原理中,把源代码翻译成
机器指令
,一般...
Java
字节码(.class文件)结构与指令详解
本文还有配套的精品资源,点击获取 简介:
Java
字节码是
Java
虚拟机运行时执行的中间语言,每个 .class 文件包含了编译后的指令和类信息。本文档详细解析了 .class 文件的结构、常量池、类信息、字段表、方法表和属性表等关键组成部分,并对字节码指令集进行了分类说明,包括
数
据操作、操作
数
栈管理、控制流、方法调用和返回以及异常处理指令。文档可...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章