学了那么长时间的java,也天天在听着关于JVM的各种神秘之事,却只是觉得这东西很神秘,没能够涉足其中。虽然没有看过书系统的研究过,但是听多了,对这东西的也算有了一个总体的认识,下面也只能把自己印象中的JVM做一个最简单的表述吧。
要了解JVM,首先还是先从java代码的执行过程说起,平时,我们写的java程序只需要点击运行程序,结果就自然而然地给我们输出来了,而没有过多地去追究这到底是个什么样的过程。那么这到底是个什么样的过程呢?
这个过程大致可以这样分解:
①把java代码进行编译(JDK中的编译工具是javac)成.class的字节码文件,这种字节码文件就是完全能用JVM指令集中的指令来描述的文件
②.类装载器装载运行程序所需要的所有类(这些类都是被编译后的class文件)
③.然后把整个程序送交执行引擎处理(JDK中的java.exe)
④.执行引擎再与操作系统或底层硬件交互
大致过程我只能描述出这么个样。而jvm的活动范围就在②和④之间。这样来说,可能还是让人摸不着头脑。没关系的,jvm的活动范围知道了,那么我们也就只需要在这个范围寻觅就行了。
要深入的理解jvm,还得从java最重要的特性说起,那就是:JVM的平台无关性。
java的特点是平台移植性好,所谓的一次编写到处运行,各种pc上,移动设备,微型设备...当然前提条件是平台上必须有相应的JVM,不同平台上的JVM是不同的,但是在不同的JVM上都有共性,那就是他们都遵循一套相同的指令集,不同的硬件厂商或不同的OS厂商只需要遵循这样一套指令集去实现他们不同平台的JVM,就可以让所有的java程序实现在不同的平台上运行。从编程的角度来看这个问题,我们可以认为这样所有JVM的实现都遵循的一套指令集为“JVM接口”.
分享到:
相关推荐
JVM 内存管理之道 JVM垃圾回收机制 JVM GC组合 JVM 内存监控工具
"JVM 50 道面试题及答案.docx" 本文档提供了 50 道 JVM 面试题及答案,涵盖了 JVM 的各个方面,包括内存模型、垃圾回收、运行时数据区域、类加载机制、垃圾回收算法等。 JVM 的内存模型 JVM 的内存模型试图定义一...
JVM 77 道面试题及答案.docx
Java虚拟机(JVM)是Java语言的核心组成部分,它为Java程序提供了一个跨平台的运行环境。以下是对JVM相关知识点的详细解释: 1. **Java代码的执行过程**: - 开发人员编写的Java代码首先通过`javac`编译器转化为`....
JVM 面试题及答案详解 JVM(Java Virtual Machine)是 Java 语言的虚拟机,负责将 Java 字节码转换为机器码并执行。...JVM 是 Java 语言的核心组件之一,了解 JVM 的工作原理和相关配置参数是非常重要的。
【大厂面试资料】-JVM 20 道.pdf
下面是 45 道 JVM 面试题及答案的总结: 一、栈帧 栈帧是 JVM 的一个基本结构,包含局部变量表、操作数栈、动态连接、返回地址等。其中,程序计数器是一块较小的内存空间,用于存储当前线程执行的字节码的行号指示...
Java虚拟机(JVM)是Java程序运行的基础,它负责管理程序的内存、执行字节码以及优化代码。以下是对JVM相关知识点的详细说明: 1. **内存泄漏**:在Java中,虽然垃圾收集机制能自动回收不再使用的对象,但如果...