JVM的线程

  • 这里说的线程时程序执行过程中的一个线程实体,JVM允许一个应用并发执行多个线程。Hostspot JVM 中的Java线程与原生操作系统线程有直接映射的关系,当线程所需资源准备好了之后(线程本地存储、缓冲区分配、同步对象、栈、程序计数器等),就会创建一个操作系统原生线程,原生线程初始化完成后,就会调用Java线程的run()方法,线程结束时,会释放原生线程和Java线程的所有资源。

  • Hotspot JVM 后台运行的系统线程

    • 虚拟机线程(VM thread):这个线程等待 JVM 到达安全点操作出现。这些操作必须要在独立的线程里执行,因为当堆修改无法进行时,线程都需要 JVM 位于安全点。这些操作的类型有:stop-the-world 垃圾回收、线程栈 dump、线程暂停、线程偏向锁(biased locking)解除
    • 周期性线程任务:负责定时器事件(也就是中断),用来调度周期性操作的执行
    • GC线程:负责JVM的垃圾回收活动
    • 编译器线程:线程运行时将字节码动态编译成本地平台相关的机器码
    • 信号分发线程:接受发送到 JVM的信号并调用适当的 JVM方法处理

作者:Zhbeii

出处:https://www.cnblogs.com/zhbeii/p/15628860.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Zhbeii  阅读(151)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示