zoukankan      html  css  js  c++  java
  • 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,在它内部通过调用适当的方法进行处理。
  • 相关阅读:
    sqlParameter的两种写法 以及存储过程还有sql语句(防注入)
    SqlServer2005 SQL Server 版本变更检查 警告
    禁用自带防火墙
    sql分页
    每个程序员都必须遵守的编程原则
    在PDA设备上安装SQL Server Compact
    Mcrosoft SQL Server 自定义函数
    程序员人生之路(转)
    在windows 7 上为 sqlserver 2008 启用远程访问
    在PDA设备上安装和部署 SQL Server Compac 3.5(官方版)
  • 原文地址:https://www.cnblogs.com/cleverziv/p/13911133.html
Copyright © 2011-2022 走看看