java字节码中的常见指令
1、Java字节码中有好几条指令是直接作用在操作数栈上的。
2、最为常见的是dup:复制栈顶元素,以及pop:舍弃栈顶元素。
作用
对类的基本信息进行操作 ,可以新增、删除、修改类、属性和方法;
应用场景:Lombok 插件、AOP、动态修改class文件、网页上的在线执行java代码也是字节码实现的;
Lombok 插件就是用字节码实现,只用Data注解就可以给属性自动加上get和set方法
public void foo() { Object o = new Object(); } // 对应的字节码如下: public void foo(); 0 new java.lang.Object [3] 3 dup 4 invokespecial java.lang.Object() [8] 7 astore_1 [o] 8 return
java类加载器的常用方法:1、loadClass,当类加载请求到来时,首先从缓存中找到类对象。如果有直接返回,如果没有,交给这种加载的父加载器加载。如果没有父加载,交给顶级启动加载器加载。如果最后还是找不到,用findClass()加载; ...