目录

JVM之基本概念(一)

(1) 基本概念:

JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。

(2) 运行过程:

我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。

也就是如下:

① Java 源文件---->编译器---->字节码文件

② 字节码文件---->JVM---->机器码

每一种平台的解释器是不同的,但是实现的虚拟机是相同的,这也就是 Java 为什么能够跨平台的原因了 ,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数据不能共享。

(3) 线程

这里所说的线程指程序执行过程中的一个线程实体。JVM 允许一个应用并发执行多个线程。Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。Java 线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把它们分配到任何可用的 CPU 上。当原生线程初始化完毕,就会调用 Java 线程的 run() 方法。当线程结束时,会释放原生线程和 Java 线程的所有资源。

Hotspot JVM 后台运行的系统线程主要有下面几个:

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
kill bert5 小时前
Java八股文背诵 第四天JVM
java·开发语言·jvm
你是理想8 小时前
wait 和notify ,notifyAll,sleep
java·开发语言·jvm
returnShitBoy10 小时前
Go语言中的垃圾回收是如何工作的?
java·jvm·golang
liwulin050616 小时前
【JAVA】JVM 堆内存“缓冲空间”的压缩机制及调整方法
java·开发语言·jvm
八股文领域大手子17 小时前
从接口400ms到20ms,记录一次JVM、MySQL、Redis的混合双打
jvm·数据库·redis·mysql·jar
佩奇的技术笔记17 小时前
Java学习手册:JVM、JRE和JDK的关系
java·开发语言·jvm
qian_qh1 天前
如何判断JVM中类和其他类是不是同一个类
jvm
魔道不误砍柴功1 天前
Java性能调优2025:从JVM到Kubernetes的全链路优化策略
java·jvm·kubernetes
bing_1581 天前
JVM 如何分析 GC 日志,定位 GC 性能问题?
jvm·定位gc性能·分析gc日志
斗锋在干嘛2 天前
Android 回答视频边播放边下载的问题
android·jvm·音视频