对于JVM的一些整体理解

JVM是什么:

Java虚拟机就是一个计算机操作系统之上的虚拟层。它为Java程序提供一个跨平台的运行环境。
JVM的核心功能包括类加载字节码执行内存管理以及垃圾回收等。
#####类加载子系统
其任务是将编译后的字节码文件加载到JVM中。类加载器遵循双亲委派模型。即当收到类加载请求的时候,先会交给父类加载器处理,如果父类加载器找不到所需的类,才会由自身来加载,这种机制可以保证每个类在JVM中的唯一性,避免重复加载。

内存管理(运行时数据区)

包括方法区、堆、虚拟机栈、本地方法栈程序计数器
方法区:主要用于存储已被装载的类信息、常量、静态变量、即时编译器后的代码等数据。
:存放对象实例和数组的地方,也是垃圾回收发生的主要区域。
虚拟机栈:服务于java字节码的执行,即java方法的执行。
本地方法栈:服务于虚拟机使用的native方法。即通过Java Native Interface (JNI) 调用的方法。
程序计数器:记录了每个线程执行的字节码地址。

在这里插入图片描述

执行引擎负责解释执行字节码或者将其编译成本地机器码。JVM的解释器逐行解释字节码并转换为机器指令执行。而**即时编译器(Just-In-Time Compiler, JIT)则会把热点代码编译为本地机器码,以提高性能。**通过这种机制,JVM可以在不牺牲太多性能的情况下,实现Java的“一次编写,到处运行”的特性。

垃圾回收机制

JVM中的垃圾回收机制是自动内存管理的核心技术。它通过定期检查堆内存中的对象,自动回收不再使用的对象所占用的内存,防止内存泄漏和溢出。常用的垃圾回收算法包括标记-清除、复制和标记-整理等。这些算法各有利弊,例如标记-清除容易产生内存碎片,而复制算法则需要额外的内存空间。为了提高垃圾回收的效率,JVM通常采取分代回收的方式,将堆内存划分为新生代和老年代,针对不同特性的对象采用不同的回收算法。

欢迎点赞、收藏,以及小小地支持一下。

本人博客地址:朗朗繁星的博客😄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值