【JVM】初识 Jvm

目录

什么是JVM

[JVM 的功能](#JVM 的功能)

常见的JVM


什么是JVM

JVM 的全程是 Java Virtual Machine( java 虚拟机 )

JVM 是一种用于计算设备的规范,也是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能实现,JVM 屏蔽了与具体操作系统平台相关的信息,使 java 程序只需生成在 java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改的运行。JVM 在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令去执行。

JVM 的功能

1.解释和运行

对字节码文件中的指令,实时的解释成机器码,让计算机执行。

2.内存管理

JVM 负责 java 程序的内存使用,包括分配内存,垃圾回收等操作。

分配内存: 能够自动为对象,方法分配内存

垃圾回收:有自动的垃圾回收机制,回收不再使用的对象,从而避免了程序员手动进行内存回收 的 繁琐操作。

3.即时编译

对热点代码进行优化,提升执行效率。

在程序运行时,JVM会通过解释器将字节码逐条解释为指令并执行,这种方式虽然简单,但执行效率较低。为了提高程序的执行效率,JVM会在运行时将一些频繁执行的热点代码(hotspot code)编译成本地机器代码,然后直接执行这些机器代码,这种方式称为即时编译。

优点: 提高执行效率 优化性能 缓存优化

常见的JVM

HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM

相关推荐
dddaidai1231 小时前
深入JVM(三):JVM执行引擎
java·jvm
小羊学伽瓦3 小时前
ThreadLocal
java·jvm·算法
脸大是真的好~4 小时前
JVM面试题相关-中级
jvm
利刃大大5 小时前
【JavaSE】十九、JVM运行流程 && 类加载Class Loading
java·开发语言·jvm
福尔摩斯张6 小时前
Linux Kernel 设计思路与原理详解:从“一切皆文件“到模块化架构(超详细)
java·linux·运维·开发语言·jvm·c++·架构
deng-c-f6 小时前
Linux C/C++ 学习日记(51):内存池
jvm·学习
没有bug.的程序员6 小时前
SOA、微服务、分布式系统的区别与联系
java·jvm·微服务·架构·wpf·日志·gc
董世昌416 小时前
break和continue的区别是什么?
java·jvm·算法
没有bug.的程序员7 小时前
微服务的本质:不是拆服务,而是拆复杂度
java·jvm·spring·微服务·云原生·容器·架构
未若君雅裁17 小时前
JVM面试篇总结
java·jvm·面试