目录
垃圾回收算法有哪些?(包括常见的垃圾回收算法、Java 的垃圾回收算法等)
请介绍一下垃圾回收算法。(如引用计数法等垃圾回收算法的了解)
Java 中哪些对象会被标记为垃圾?它们何时会被回收?(包括强引用、软引用、弱引用、虚引用)
讲一下 Java 的虚拟机。
Java 虚拟机(JVM)是 Java 程序的运行核心。它是一个抽象的计算机,有自己的指令集和运行时数据区。
JVM 主要负责执行 Java 字节码。字节码是一种中间形式的代码,当我们编写 Java 源程序后,通过编译器(如 javac)将其编译成字节码文件(.class 文件)。JVM 读取字节码文件,并将其解释或编译成机器码来运行。
JVM 有多种实现,比如 HotSpot VM、J9 VM 等。其中 HotSpot VM 是最常用的一种。它采用了混合模式来执行字节码,即解释执行和即时编译(JIT)相结合。在程序刚开始运行时,字节码是通过解释器来执行的,随着程序的运行,JIT 编译器会分析代码的执行频率等信息,对于那些频繁执行的代码片段,JIT 编译器会将其编译成机器码,这样下次执行相同代码时就可以直接运行机器码,大大提高了程序的运行速度。