jvm简介笔记

高级语言并不能直接在计算机上运行,而是通过解释之后,才能被机器所识别和运行。
在这里插入图片描述
java的跨平台性:在一个地方写完之后,到哪都能用,所有的JVM都遵循一个规范
在这里插入图片描述
很多类java的语言,都可以通过编译成字节码文件,在JVM平台上运行,JVM(跨语言的平台)
在这里插入图片描述
jvm字节码:常见的就是java的.class文件,实际上,jvm并不会对不同语言的字节码文件有不同的区分,因此,叫jvm字节码可能更加合适一点。在java平台上,多语言混合编程正在成为主流通过特定领域的语言去解决特定问题,是当前应对日趋复杂的项目需求的一个方向

系统虚拟机和程序虚拟机的定义和区别
在这里插入图片描述
**JVM特点:**一次编译,到处运行;自动内存管理;自动垃圾回收
在这里插入图片描述

JVM是运行在操作系统之上的
在这里插入图片描述
JVM整体结构的简略示意图
方法区和堆多个线程共享
java栈,本地方法栈,程序计数器每个线程独有一份

.java生成.class的那个编译:前端编译器
JVM中的执行引擎(或者说里面的JIT部分):后端编译器
在这里插入图片描述
JVM的指令集架构以及区别
Java都是使用的栈式架构
在这里插入图片描述
反编译.class文件
javap -v XxxXxx.class

JVM生命周期:虚拟机启动,执行,退出
在这里插入图片描述

常见的Java虚拟机:

SUN classic VM(最早的虚拟机);Exact VM;HotSpot VM(重点)hotspot虚拟机的市场应用如下:
在这里插入图片描述
JRockit(不关心启动速度,不包含解析器的实现,是目前最快的JVM);J9;TAOBAOJVM

猜你喜欢

转载自blog.csdn.net/weixin_38857307/article/details/113919142