小编kar*_*aut的帖子

JVM 如何“抛出”异常

我知道 JVM 有一个异常表,用于映射可以在给定字节码索引中抛出的可能异常。我还读到 athrow 字节码会抛出堆栈顶部的引用类型异常。我的问题更多地与 irem 等指令如何“抛出”异常有关。

JVM 是否在每条指令执行后检查栈顶以检查是否有异常?非常感谢您对引擎盖下正在发生的任何见解。

java exception jakarta-ee

7
推荐指数
1
解决办法
1633
查看次数

排列一个数组,使得它们之间不存在2个数字的平均值

正如问题所说,找到一个算法来排列数组.这是一个Facebook面试问题.

平均值需要准确.我们不是平均的,也不是平均的.

编辑:举一个例子,如果数字是1,2,5,9,那么排列{1,9,2,5}是有效的,但{1,5,9,2}不是平均值1和9是5并位于它们之间.

sorting algorithm math

6
推荐指数
1
解决办法
1121
查看次数

检查所有变量的值是否不同的快速方法

考虑9个变量,每个变量的值可以从1到9.什么是检查每个变量是否具有不同值的好的快速方法.我想到的第一个想法就是总结它们,看它是否相等,n(n+1)/2但这无处不在.有任何想法吗?

编辑:非常感谢你们.完全忘记了Set.我是个菜鸟.

java algorithm

2
推荐指数
2
解决办法
1257
查看次数

在原子性方面,i ++和i = i + 1之间的差异

我知道i ++不是一个线程安全的操作.我也理解为什么i ++比i = i + 1更快.在线程安全方面,i = i + 1与i ++有什么不同吗?任何字节码级别的解释都非常有用.

java thread-safety atomicity

1
推荐指数
2
解决办法
4090
查看次数

为什么HotSpot需要注册分配?

这是我读过的有关JVM的内容.HotSpot基于堆栈,Dalvik是基于寄存器的.如果HotSpot是基于堆栈的,那么一旦我们将代码重新表示为块,为什么我们需要完成寄存器分配?

另外,llvm在哪里适合这个?我读到我们可以使用llvm核心和后端来获取java源代码.HotSpot是否使用LLVM?

java llvm jvm-hotspot

0
推荐指数
1
解决办法
238
查看次数