当一个程序从起头运行,这是虚拟机就起头实例化了,多个程序启动就会存在多个虚拟机实例。程序退出或者封闭,则虚拟机实例消亡,多个虚拟机之间的数据不克不及共享
线程是指程序执行过程中一个线程实体。JVM许可一个应用并发执行多个线程。
Hotspot JVM中的Java线程与原生操作系统线程有直接的映射关系。当线程当地存储、缓冲区分派、同步对象、栈、程序计较器等筹办好今后,就会建立一个操作系统原生线程。
java线程竣事,原生线程随之被收受接管。操作系统负责调剂所有线程,并把它们分派到任何可用CPU上。当原生线程初始化完毕,就挪用java线程的run()方式。当线程竣事时,会释放原生线程和java线程的所有资本。
JVM内存区域本家儿要分为线程私有区域:程序计数器、虚拟机栈、当地方式区。
线程共享区域:java堆、方式区、直接内存。
线程私稀有据区域生命周期与线程不异,依靠用户线程的启动/竣事,而建立/销毁(在Hotspot VM 内,每个线程都与操作系统的当地线程直接映射,是以这部门内存区域的存/否跟从当地线程的生/死对应的)。
线程共享区域随虚拟机的启动/封闭而建立/销毁。
程序计数器(线程私有)
当地方式区(线程私有)
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!