运行时数据区

JVM-运行时数据区基本介绍_java线程

每个线程:独立包含程序计数器、栈、本地方法栈
线程间共享:堆、堆外内存(永久代、元空间、代码缓存等)
方法区在JDK8之后换成了元空间

JVM-运行时数据区基本介绍_JVM_02
JVM-运行时数据区基本介绍_初始化_03
JVM-运行时数据区基本介绍_初始化_04

Runtime

一个JVM进程对应一个Runtime实例
每个JVM只有一个Runtime实例!
JVM-运行时数据区基本介绍_初始化_05

线程

  • 线程是一个程序里的运行单元。JVM允许一个应用有多个线程并行的执行。
  • 在Hotspot JVM里,每个线程都与操作系统本地线程直接映射。
    • 当一个Java线程准备好执行后,此时一个操作系统的本地线程也同时创建。Java线程执行终止后,本地线程也随之回收。
  • 操作系统负责所有线程的安排调度到任何一个可用CPU。一但本地线程初始化成功,就会调用Java线程的run方法。