Java面试之JVM复习(一)

JVM Java虚拟机,包含一套字节码指令集、寄存器、栈、垃圾回收、堆,存储方法域。JVM是运行在操作系统上的,与硬件没有直接的交互。Java源文件,通过编译器,能够生成相应的.Class文件,也就是字节码文件,而字节码文件又通过java虚拟机中的解释器,编译成特定机器上的机器码。每一种平台上的解释器是不同的,这也是java为什么能跨平台运行的原因了。

方式/步调

  1. 1

    当一个程序从起头运行,这是虚拟机就起头实例化了,多个程序启动就会存在多个虚拟机实例。程序退出或者封闭,则虚拟机实例消亡,多个虚拟机之间的数据不克不及共享

  2. 2

    线程是指程序执行过程中一个线程实体。JVM许可一个应用并发执行多个线程。

    Hotspot JVM中的Java线程与原生操作系统线程有直接的映射关系。当线程当地存储、缓冲区分派、同步对象、栈、程序计较器等筹办好今后,就会建立一个操作系统原生线程。

    java线程竣事,原生线程随之被收受接管。操作系统负责调剂所有线程,并把它们分派到任何可用CPU上。当原生线程初始化完毕,就挪用java线程的run()方式。当线程竣事时,会释放原生线程和java线程的所有资本。

  3. 3

    JVM内存区域本家儿要分为线程私有区域:程序计数器、虚拟机栈、当地方式区。

    线程共享区域:java堆、方式区、直接内存。

  4. 4

    线程私稀有据区域生命周期与线程不异,依靠用户线程的启动/竣事,而建立/销毁(在Hotspot VM 内,每个线程都与操作系统的当地线程直接映射,是以这部门内存区域的存/否跟从当地线程的生/死对应的)。

    线程共享区域随虚拟机的启动/封闭而建立/销毁。

  5. 5

    程序计数器(线程私有)

  6. 6

    当地方式区(线程私有)

    END
  • 发表于 2020-04-30 19:00
  • 阅读 ( 870 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具