1、ret、jsr、jsr_w与returnAddress指令实现finally语句块



当class文件的版本号等于或高于51.0,jsr和jsr_w这两个操作码也不能出现在code数组中。


所有returnAddress类型的实例至多会返回一次。
如果ret指令在某代码子片段调用链中返回且超过规定实例的returnAddress类型的相应地址,之后那个实例就不能再将它作为返回地址。
本文探讨了在class文件版本51.0及以上环境中,如何使用ret、jsr、jsr_w与returnAddress指令实现finally语句块。特别强调了returnAddress类型实例的使用限制,及ret指令在调用链中的作用。



当class文件的版本号等于或高于51.0,jsr和jsr_w这两个操作码也不能出现在code数组中。


所有returnAddress类型的实例至多会返回一次。
如果ret指令在某代码子片段调用链中返回且超过规定实例的returnAddress类型的相应地址,之后那个实例就不能再将它作为返回地址。
转载于:https://www.cnblogs.com/extjs4/p/9095075.html
407
167

被折叠的 条评论
为什么被折叠?