一.为什么说Java是一门跨平台语言
Java内置JVM (java虚拟机),而JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。
二.java程序从编译到执行的过程
先看一幅图
从图中可以看出,我们编写的Java文件,经由javac编译器,编译后文件变成class文件,由类加载器加载到JVM当中,执行引擎会完成字节码编译成二进制机器码并执行。
注:执行引擎是包含字节码解释器和JIT编译器的。
三.Jvm的大致运行过程
四.我们学Jvm主要是学得什么
1.学的是Java程序在运行时,程序数据在内存中的管理
2.JVM 会对我们的应用程序的数据,进行分类管理,我们要知道什么数据放到什么地方,以及什么时候会被 回收,什么时候会被腾挪
五.运行时数据区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域