jvm基础入门
1:JVM基础知识
- 什么是JVM
JVM(Java Virtual Machine,Java虚拟机)
Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.class文件。众所周知java.exe是java class文件的执行程序,但实际上java.exe程序只是一个执行的外壳,它会装载jvm.dll(windows下,下皆以windows平台为例,linux下和solaris下其实类似,为:libjvm.so),这个动态连接库才是java虚拟机的实际操作处理所在。
JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。
2. 常见的JVM
3. Java从编码到执行的全过程
首先一个java文件,通过javac,把一个java文件编译成class文件,然后通过classloader类加载器,通过字节码编辑器或者jit即时编辑器编程成只有0和1的字节码文件,听过执行引擎,运行在操作系统上。(其中jvm与语言没有任何关系,只和是否是class文件格式有关)
4. jdk jre jvm之间的关系
jdk:jre+编译运行开发工具的集合
jre:jvm+java系统类库