做网站用什么编程语言好,北京网上服务平台,电脑网站怎么创建到桌面上,佛山外贸网站设计#x1f40c;个人主页#xff1a; #x1f40c; 叶落闲庭 #x1f4a8;我的专栏#xff1a;#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也#xff0c;而不可夺坚#xff1b;丹可磨也#xff0c;而不可夺赤。 JVM 一、初识JVM1.1 什么是JVM1.2 JVM的功能… 个人主页 叶落闲庭 我的专栏 c语言 数据结构 javaEE 操作系统 Redis 石可破也而不可夺坚丹可磨也而不可夺赤。 JVM 一、初识JVM1.1 什么是JVM1.2 JVM的功能1.2.1 解释和运行1.2.2 内存管理1.2.3 即时编译1.2.4 JVM 即时编译功能原理 1.3 常见的JVM 一、初识JVM
1.1 什么是JVM JVM全称是Java Virtual Machine,中文译名Java虚拟机JVM本质上是一个运行在计算机上的程序它的职责是运行Java字节码文件在字节码文件中包含了一连串的指令这个指令就是字节码指令这些指令是无法直接在计算机上运行的因为计算机只能识别机器码而Java虚拟机就负责将字节码转换成机器码从而让电脑识别这个过程被称为解释相当于将一门语言翻译成另一门语言。 1.2 JVM的功能
1.2.1 解释和运行 Java虚拟机可以将字节码文件中的指令实时的解释成机器码让计算机执行 1.2.2 内存管理
自动为对象、方法等分配内存自动的垃圾回收机制回收不再使用的对象不用像C/C那样需要手动释放空间降低了程序员写代码的难度
1.2.3 即时编译
对热门代码进行优化提升执行效率 Java语言如果不做任何优化其性能不如C/C因为Java语言需要将字节码指令通过JVM实时的解析为机器码才可以交给计算机运行这个过程随着程序的执行需要反复地执行每次进行都需要花费一定的时间而C/C在编译过程中可以直接将源代码转换为计算机任何的机器码。 Java这样做的目的主要是为了支持跨平台特性将一份字节码指令交给Linux、Windows平台这些平台会安装不一样的JVM,分别将字节码解释成该平台上对应的机器码实现了跨平台特性。 1.2.4 JVM 即时编译功能原理 有一个字节码文件里面有一段字节码指令虚拟机如果发现这段指令在很短时间内被多次调用那么就会认为这段代码有必要去优化会主动将代码解释并优化解析成机器码然后将这个机器码保存在内存当中这样当这段代码再次被执行时就会直接从内存当中取出直接调用。 JVM利用即时编译Uust-In-Time简称IT)进行性能的优化最终能达到接近C、C语言的运行性能
1.3 常见的JVM
名称作者支持版本社区活跃度github star特性适用场景HotSpotOpen JDK版Oracle所有版本高闭源使用最广泛稳定可靠社区活跃JIT支持Oracle JDK默认虚拟机默认HotSpot(Open JDK版)Oracle所有版本中16.1k同上开源Open JDK默认虚拟机默认对JDK有二次开发需求GraalVMOracle11,17,19,企业版支持8高(18.7k)多语言支持,高性能、JT、AOT支持微服务、云原生架构,需要多语言混合编程Dragonwell JDK,龙井Alibaba标准版8,11,17扩展版11,17低(3.9k)基于OpenJDK的增强高性能、bug修复、安全性提升JWarmup、ElasticHeap、Wisp特性支持电商、物流、金融领域对性能要求比较高Eclipse OpenJ9(原BM)9)IBM8,11,17,19,20低(3.1k)高性能、可扩展JIT、AOT特性支持微服务、云原生架构