1. 程式人生 > >Mybatis的原理與JVM記憶體結構(面試題)

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虛擬機器棧和本地方法棧,主要用於方法的執行