腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
4
回答
JVM
的
LookupSwitch
和
TableSwitch
的
区别
?
、
、
我很难理解Java字节码中
的
LookUpSwitch
和
TableSwitch
。每项文件
的
Jasmin文件:
浏览 5
提问于2012-04-23
得票数 74
回答已采纳
1
回答
字节码命令对齐了吗?
、
、
我知道编译器根据4字节(32位系统)或8字节(64位系统)边界执行数据结构对齐
和
填充。但是解释器在生成字节码时会对齐字节码命令吗?如果一个命令是用1字节编码
的
,而操作数是用1、2、4或8字节编码
的
,那么如果字节码是在循环开关中解释
的
,那么对于处理器来说,获取数据似乎是不好
的
。你认为如何? 附注:我不是在问执行JIT
的
解释器。
浏览 37
提问于2021-10-07
得票数 1
回答已采纳
2
回答
强制表切换而不是查找开关
、
、
、
、
Scala2.11在相对密集
的
match范围内将Int表达式编译成
lookupswitch
-12: 200 -10:7: 184 13: 184 21: 184default: 180而Java 7则将等效
的
switch语句编译为
tableswitch
tableswitch
{
浏览 3
提问于2017-07-08
得票数 12
回答已采纳
1
回答
Java 7字符串开关已反编译:意外指令
、
、
、
我已经反编译了一个非常简单
的
类,它使用了新
的
Java7字符串开关特性。Code: ... 57: ldc #2 // String red 110:
tableswitch
...
浏览 1
提问于2011-08-05
得票数 14
回答已采纳
1
回答
为什么
JVM
tableswitch
/
lookupswitch
指令
的
格式有0到3个字节
的
填充?
、
、
、
我已经理解了
tableswitch
/
lookupswitch
的
格式。但是,0到3个字节填充
的
目的是什么?
浏览 20
提问于2020-10-27
得票数 2
回答已采纳
1
回答
业绩增长?
、
、
、
.;由于这些差距太大,编译器无法在这里生成合理
的
TABLESWITCH
(O(1)复杂性)指令,所以它使用了
LOOKUPSWITCH
(O(log n)复杂性)。是否可以通过将switch分成以下两部分来提高此代码
的
性能:{ case 1: ...; return ...;case 400: ...; return ...; case 402: ...; re
浏览 1
提问于2015-04-04
得票数 0
回答已采纳
1
回答
切换大小写顺序会影响速度吗?
、
我有一个很大
的
转变,有些情况显然比其他情况更常见。 所以我想知道订单是否真的保持原样,“上层”案例在“下层”案例之前进行测试,因此评估速度更快。我想保持我
的
顺序,但如果这会影响速度,那么重新排序分支将是一个好主意。
浏览 22
提问于2014-04-22
得票数 83
回答已采纳
3
回答
从JIT切换到调度表,Java通常需要多少程序员“协助”?
、
、
、
我知道Java做了全面的优化,可以根据有多少种情况来优化开关,开关是稀疏
的
还是密集
的
,以及代码是否足够热,以便JIT优化所述代码。我只是想知道我是否需要进一步提供“辅助”,比如在被测试
的
变量上使用位
和
,或者将变量按位移动到一个“更好”
的
数字,假设所述代码确实非常热。“更好”是0xXX而不是0xFFXX。而不是“让它遵循xxx
的
一般编程指南”。
浏览 0
提问于2011-09-29
得票数 5
1
回答
为什么Scala不能把这个匹配优化成一个开关呢?
、
、
、
、
我有一个,它与拜特值上
的
只匹配,但是当我添加@switch时,它说: 在Scala Message
浏览 2
提问于2013-05-01
得票数 5
回答已采纳
1
回答
字节码:
LOOKUPSWITCH
和
TABLESWITCH
、
、
、
在BCEL API中,两种指令类型
LOOKUPSWITCH
和
TABLESWITCH
(package org.apache.bcel.generic)实现了接口StackProducer。我希望我能在这里找到更多
的
运气)
浏览 0
提问于2010-03-05
得票数 4
回答已采纳
1
回答
Java交换机足够聪明,可以重新排列?
、
、
、
考虑到一段热腾腾
的
代码已经切换了许多大小写选项(并且所有的代码都有中断,例如可以重新排列),
JVM
会发现频繁
的
条目来在其他代码之前检查它们吗?
浏览 0
提问于2017-06-07
得票数 0
回答已采纳
1
回答
字符串是否是关于开关
的
数字类型,并且总是编译成查找开关?
、
、
、
return true; return false; }根据Java规范(JMS) “ 3: invokevirtual #16 // Method java/lang/S
浏览 0
提问于2018-07-26
得票数 4
回答已采纳
1
回答
Java字节码查找开关
和
表--总指令长度
、
对于给定
的
字节码,当遇到switch指令时,我想知道下一条指令在哪里(没有运行代码)。为了做到这一点,我想我应该计算指令
的
总大小,包括跳转偏移量或匹配偏移对。这个是可能
的
吗?此外,是否还有其他具有动态大小(基于变量
的
字节码大小)
的
字节码指令?表巫术<0-3 byte pad>defaultbyte2defaultbyte4lowbyte2查找开关
lookupswit
浏览 1
提问于2016-02-05
得票数 3
回答已采纳
2
回答
对GOTO语句使用本地变量
的
IJVM
、
、
我认为它只是将变量名当作一个标签,并试图分支到它,但这样
的
标签并不存在。有没有办法强制它读取变量
的
内容(它包含一个偏移量),或者其他一些解决方案? 提前谢谢。
浏览 3
提问于2012-12-06
得票数 1
回答已采纳
2
回答
交换机
的
eclemma分支覆盖: 19个分支中有7个未命中
、
、
、
、
我们被要求至少有80%
的
分支机构覆盖率,所以我试图尽可能多地进行测试。然而,eclemma告诉我,这个交换机系统并没有在分支覆盖方面进行充分
的
测试。break; reserves++; }我尝试在堆栈溢出上搜索类似的问题。他们中
的
一些人使用if&
浏览 0
提问于2015-01-19
得票数 28
回答已采纳
4
回答
为什么开关比如果
、
restaurant或 //eat Bread //leave the restaurant考虑物品和面包是一个不变
的
整数值在上面的示例中,哪个
的
工作速度更快,为什么?
浏览 15
提问于2011-07-15
得票数 132
回答已采纳
1
回答
在Scala中匹配-性能?
scala是如何处理matching
的
?只是语法糖被转换成字节码级别的编译器分支,还是隐藏在幕后
的
一些聪明
的
把戏?
浏览 2
提问于2013-04-11
得票数 2
回答已采纳
4
回答
用开关语句可以无限循环吗?
、
、
我正在扫描源代码
和
编译类,寻找潜在
的
无限循环。转换语句编译为
lookupswitch
和
tableswitch
操作码。我已经处理了所有其他分支说明
和
陈述。正如我所怀疑
的
,并根据这里提供
的
答案,源代码中
的
switch语句只能向前分支,但是字节码中
的
任何分支指令都有
浏览 3
提问于2015-10-23
得票数 4
回答已采纳
3
回答
如何使用“`MethodHandle`”模仿“`
tableswitch
`”?
、
、
、
上下文:我一直在对使用invokedynamic
和
手动生成字节码
之间
的
区别
进行基准测试(这是在决定针对
JVM
的
编译器应该发出更详细
的
“传统”字节码还是只发出带有巧妙引导方法
的
invokedynamic调用的上下文中在这样做
的
过程中,将字节码映射到至少同样快
的
MethodHandles组合器中是非常简单
的
,但
tableswitch
除外。 问题:用MethodHandle来模仿
浏览 6
提问于2021-04-05
得票数 6
回答已采纳
4
回答
如何在编程语言中创建新
的
“自定义条件语句”
、
、
是否可以在java中创建一个新
的
“自定义条件语句”。int i = SOMEVALUE;{//Some StatementCase 2: /如果"i“变量
的
实际值为9999999,则必须对该情况进行9999999次检查,但如果我们使用类似于二进制搜索
的
一些算法对其
浏览 0
提问于2011-09-06
得票数 2
回答已采纳
点击加载更多
相关
资讯
JDK、JRE、JVM之间的关系
JavaScript和PHP 之间的区别
Java和JavaScript之间的区别
CWDM和DWDM技术之间的区别
网关和路由器之间的区别
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券