IcyFenix

Results 195 comments of IcyFenix

感谢指正,已更新至勘误。

谢谢,程序员应该严谨。

感谢指正,已更新至勘误。

谢谢,如你所猜测的,源码中BootstrapMethod()方法只有展示作用(其实我心里怀疑是不是当年做实验的时候漏删了),并不需要存在。我刚刚实测过注释掉该方法,INDY仍能够正确转换出如下结果: ``` public static void main(java.lang.String[]) throws java.lang.Throwable; descriptor: ([Ljava/lang/String;)V flags: (0x0009) ACC_PUBLIC, ACC_STATIC Code: stack=2, locals=1, args_size=1 0: ldc #3 // String icyfenix 2: invokedynamic #113, 0 // InvokeDynamic...

感谢指正,已更新至勘误。

你好,感谢指正。 原文中以“数组对象”来描述虚拟机自动生成的代码数组的Class是不对的。这段话在JVMS([JVMS 9 / 5.3.3. Creating Array Classes](https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-5.html#jvms-5.3.3))中的描述为: > The Java Virtual Machine creates **a new array class** with the indicated component type and number of dimensions 不过改成“java.lang.Class对象”似乎不太合适,因为此时只产生了代表那个数组的Class的类型。 此处按照JVMS的语义修改为:接着由虚拟机生成一个代表该数组维度和元素的【数组类型】。

感谢指正,您的理解是正确的,是并行收集。已将其更新至勘误。

感谢指正,已更新至勘误。

建议可以先使用bytecode的可视化工具(譬如[这个](https://bytecodeviewer.com/))查看一下,如果确实不能解决,我们再讨论。