平台:Windows、Linux、Mac OS
-
Java语言之所以可以跨平台,在不同平台上都安装了不同的JVM,这是最本质的原因。
-
字节码,也是可以在不同平台上运行,也是实现了跨平台的效果。
-
如果其他的语言也想实现跨平台,把语言编译成字节码就可以。
JVM整体结构:
-
类加载子系统:我们写的Java代码,编译成字节码(.class),编译字节码后,先是存在磁盘的,通过类加载子系统,从磁盘-》内存-》CUP处理加载到JVM内存中。
-
解析器:翻译成机器语言。
-
JIT编译器:重复使用的指令 ,就可以使用JIT编译器缓存起来,可以加快编译速度。把某些热点的代码和指令编译成机器指令,并且会缓存起来,从而会提高我们的执行效率。
-
堆:执行是。会产生一些对象。
-
Java方法(虚拟机)栈:执行方法中,会用到一写局部变量。