Mybatis的原理与JVM内存结构(面试题)

Mybatis的原理

  • 1.Mapper 接口在初始SQL SessionFactory注册的
  • 2.Mapper 接口注册在名为MapperRegistry类的 HasMap中 key=Mapper class   value = 创建当前Mapper的工厂 
  • 3.当前Mapper注册后, 可以SqlSession种的get
  • 4.SqlSession.getMapper运用了JDK动态代理、产生了目标Mapper接口的代理对象
  • 5.动态代理的代理类是MapperProxy,这里边是最终完成了增删改查方法调用

JVM内存地址结构

 JVM内存地址结构主要是三大块:堆内存、方法区和栈。堆内存是JVM最大的一块,与年轻代和老年代组成,而年轻代

内存又被分为三部分:Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照 8:1:1的内存分配;

 方法区存储类信息、常量、静态变量等数据,是线程共享区域,为与Java堆区分,方法区还有一个别名 Non-Heap(非堆)

   栈对象为Java虚拟机栈和本地方法栈,主要用于方法的执行

猜你喜欢

转载自www.cnblogs.com/shundong106/p/10129427.html