Java面试基础知识-MyBatis-Plus生成ID策略、JVM虚拟机、
MyBatisPlus默认实现5种主键生成策略,分别是:
- AUTO,配合数据库设置自增主键,可以实现主键的自动增长,类型为number;
- INPUT,由用户输入;
- NONE,不设置,等同于INPUT;
- ASSIGN_ID,只有当用户未输入时,采用雪花算法生成一个适用于分布式环境的全局唯一主键,类型可以是String和number;
- ASSIGN_UUID,只有当用户未输入时,生成一个String类型的主键,但不保证全局唯一;
JVM虚拟机
内存结构的划分

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