не могу, что делает 1 после invokeinterface #8
Понятно, что #8 это ссылка на констант пул, а метод вызывается на aload_1, который подгружается на топ стека
А единица-то там зачем?
Смотрим JVMS: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokeinterface The count operand of the invokeinterface instruction records a measure of the number of argument values, where an argument value of type long or type double contributes two units to the count value and an argument of any other type contributes one unit. This information can also be derived from the descriptor of the selected method. The redundancy is historical.
Спасибо всем, я всё понял
Обсуждают сегодня