• JVM详解(三)-- 运行时数据区:概述和线程


    垃圾回收95%在java堆中,5%在方法区中(方法区是java虚拟机中的一个概念,具体的实现是“永久代”、“元空间”,其中元空间是JDK 8以后的实现,使用的是本地内存)

    一个 JVM 实例对应一个 Runtime对象

    线程

    Java线程与本地线程

    1. 线程是一个程序里的运行单元。JVM 允许一个应用有多个线程并行执行。
    2. 在 Hotspot JVM 中,每个线程都与操作系统的本地线程直接映射。当一个 Java 线程准备好执行之后,此时一个操作系统的本地线程也同时创建。Java线程执行终止之后,本地线程也会回收。
      • 什么叫“线程准备好执行”。线程在执行前需要创建好自己的程序计数器、栈结构等。
    3. 操作系统负责所有线程的安排调度到任何一个可用的CPU上。一旦本地线程初始化成功,它就会调用Java线程中的run()方法。

    JVM 系统线程

    Hotspot 虚拟机中主要的后台线程:

    1. 虚拟机线程。这种线程的操作是需要JVM达到安全点才会出现。这些操作必须在不同的线程中发生的原因是他们都需要JVM到达安全点,这样堆才不会变化。这种线程的执行类型包括“stop the world”的垃圾收集,线程栈收集、线程挂起以及偏向锁的撤销。
    2. 周期任务线程。用于周期操作的调度执行。
    3. GC 线程。这种现成对在JVM里不同种类的垃圾收集行为提供了支持。
    4. 编译线程。这种线程在运行时会将字节码编译成本地代码。
    5. 信号调度线程。这种线程接收信号并发送给JVM,在它内部通过调用适当的方法进行处理。
  • 相关阅读:
    定时备份脚本
    NFS+inotify实时同步
    pxe+kickstart自动化安装
    LVS负载均衡DR模式
    Rsync文件同步服务
    NFS文件共享服务
    MySQL-5.5.49安装、多实例、主从复制
    PHP-5.3.27源码安装及nginx-fastcgi配置
    一文解读5G (转)
    一文解读VR/AR/MR (转)
  • 原文地址:https://www.cnblogs.com/cleverziv/p/13911133.html
Copyright © 2020-2023  润新知