Java面试基础知识-MyBatis-Plus生成ID策略、JVM虚拟机、

MyBatisPlus默认实现5种主键生成策略,分别是:

  • AUTO,配合数据库设置自增主键,可以实现主键的自动增长,类型为number;
  • INPUT,由用户输入;
  • NONE,不设置,等同于INPUT;
  • ASSIGN_ID,只有当用户未输入时,采用雪花算法生成一个适用于分布式环境的全局唯一主键,类型可以是String和number;
  • ASSIGN_UUID,只有当用户未输入时,生成一个String类型的主键,但不保证全局唯一;

JVM虚拟机

内存结构的划分

  • 执行javac命令编译源代码为字节码
  • 执行java命令
  1. 创建JVM,调用类加载子系统加载class,将类的信息存入方法区
  2. 创建main线程,使用的内存区域是JVM虚拟机栈,开始执行main方法代码
  3. 如果遇到了未见过的类,会继续出发类加载过程,同样会存入方法区
  4. 需要创建对象,会使用堆内存来存储对象
  5. 不再使用的对象,会有垃圾回收器在内存不足时回收其内存
  6. 调用方法时,方法内的局部变量、方法参数所使用的是JVM虚拟机栈中的栈帧内存
  7. 调用方法时,先要到方法区获得该方法的字节码指令,有解释器将字节码指令解释为机器码执行
  8. 调用方法时,会将要执行的指令行号读到程序计数器,这样当发生了线程切换,恢复时就可以从中断的位置继续
  9. 对于非java实现的发放调用,使用内存称为本地方法栈
  10. 对于热点方法调用,或者频繁的循环代码,有JIT即时编译器讲这些代码编译成机器码缓存,提高执行性能

 

posted on 2023-04-24 16:56  沉默寡言!  阅读(55)  评论(0)    收藏  举报