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()加载; ...