image.png

MyBatis的Mapper接口没有实现类,其工作原理是什么?

  1. Mapper 接口的Class对象,被包装成了MapperProxyFactory对象
  2. 通过MapperProxyFactory 对象创建 Mapper 接口动态代理对象 MapperProxy
  3. 执行Mapper接口方法时,动态代理调用MapperProxy的invoke方法进行拦截处理

如何找到生产环境的死锁

  1. 使用 jstack + pid 将线程信息输入到文本文件中,如果发现deadlock 就可以判断发生死锁

image.png

image.png

image.png

image.png

image.png