Loading

JVM的线程

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

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

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