JVM大白话(●一●)

本文深入浅出地介绍了JVM(Java虚拟机)的工作原理,包括其在JDK和JRE中的位置,以及如何确保Java的跨平台运行。JVM的组成部分如类装载器、执行引擎、程序计数器、虚拟机栈、本地方法栈和堆内存的详细解释,特别是堆内存中的垃圾回收机制和TLAB(Thread Local Allocation Buffers)内存分配策略。通过对JVM的解析,帮助读者更好地理解Java程序的运行机制。
摘要由CSDN通过智能技术生成

目录

🤗谈谈对JVM的理解

🧡JVM体系结构


💟这里是CS大白话专场,让枯燥的学习变得有趣!

💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

💟好记性不如烂键盘,自己总结不如收藏别人!

🤗谈谈对JVM的理解

💌二话不说先翻译:JVM(Java Virtual Machine)中文名:Java虚拟机。虚拟机都懂吧?就是仿的计算机。这里有一个简单的包含关系:

JDK(Java Development ToolKit)> JRE(Java Runtime Envirnment)> JVM

💌往大了说,JVM是一种可以提供Java运行环境的Java开发工具,保证Java可以跨平台运行。

💌往小了说,JDK将Java程序编译成Java字节码(.class文件),再由JRE中的JVM负责执行这些字节码文件,解析为本地操作系统(Windows、Linux、Mac)的机器指令。

就像是翻译器可以将中文翻译成各个国家的语言,而不同的国家就相当于不同的操作系统。我们有了翻译器,就可以满世界溜达啦!😍

🧡JVM体系结构

🍠类装载器:将.class文件装载到方法区。

🍠执行引擎:执行.class文件,解析为JVM指令。

🍠程序计数器(寄存器):记录下一条JVM指令执行地址。

🍠Java虚拟机栈:线程运行需要的内存空间(参数,局部变量,返回地址)。

🍠本地方法栈:本地方法运行需要的内存空间。如:通过native接口调用本地Object clone()、notify()、hashcode()、wait()等方法。

🍠堆:存放实例化对象,有垃圾回收机制,JVM调优部分。

💌辩证谈共享&独享:在共享区很有可能出现多个线程预分配同一块堆内存的情况,HotSpot JVM则使用TLAB(Thread Local Allocation Buffers)内存分配机制解决这一问题:在每个线程初始阶段,从堆内存中划分一部分给该线程,用于专属内存分配,但内存中的数据可供所有线程读取,即独存共取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值