运行时数据区
每个线程:独立包含程序计数器、栈、本地方法栈
线程间共享:堆、堆外内存(永久代、元空间、代码缓存等)
方法区在JDK8之后换成了元空间
Runtime
一个JVM进程对应一个Runtime实例
每个JVM只有一个Runtime实例!
线程
- 线程是一个程序里的运行单元。JVM允许一个应用有多个线程并行的执行。
- 在Hotspot JVM里,每个线程都与操作系统本地线程直接映射。
- 当一个Java线程准备好执行后,此时一个操作系统的本地线程也同时创建。Java线程执行终止后,本地线程也随之回收。
- 操作系统负责所有线程的安排调度到任何一个可用CPU。一但本地线程初始化成功,就会调用Java线程的run方法。