美文网首页
线程在JVM中的运行原理

线程在JVM中的运行原理

作者: 生不悔改 | 来源:发表于2020-04-05 20:40 被阅读0次

。线程在启动运行时,主要是在运行时数据区(JVM的内存模型),而JVM的运行时数据区主要包括方法区Java栈本地方法栈程序计数器这个五个部分组成。每运行一个线程,都会在Java栈中创建一个栈帧。

示例代码

图中是一个简单的示例代码,执行的是main线程中的代码,程序在启动后,先会将Demo.class文件加载到类加载器中,类加载器会把该Demo类中的所有方法代码转换成二进制的指令加载到方法区,然后会在栈内存中加载创建一个main线程的线程栈,此时在线程栈中创建一个main()方法的栈帧之后开始执行代码。栈帧由 局部变量表、操作数栈、动态链接、方法出口组成。然后执行第一行代码,跳转到methodA()方法中,此时在线程栈中创建一个methodA()方法的栈帧。在栈帧中创造的对象实例都是存该对象名对应的对象在堆中的地址,对象实例则是保存在堆当中,当methodA()方法执行完毕后,会先销毁methodA()方法栈帧中的所有信息。

以上就是线程在jvm里面运行的原理。对JVM及栈帧组成不理解的,可以参考我写的JVM原理文章。https://www.jianshu.com/p/3cbeb0cc167d

相关文章

  • 线程在JVM中的运行原理

    。线程在启动运行时,主要是在运行时数据区(JVM的内存模型),而JVM的运行时数据区主要包括堆,方法区,Java栈...

  • Java程序运行原理分析

    一. JVM原理 class文件内容 JVM运行时数据区 线程独占: 每个线程都会有它独立的空间,随线程的生命周而...

  • # JVM和GC

    JVM和GC JVM运行时内存区 一、线程私有数据区 1、程序计数器 在JVM中,多线程是通过线程轮流切换来获得C...

  • JVM内部运行线程介绍

    JVM内部运行线程介绍

  • 把石头整惨了的JVM—(深入浅出JVM)

    前言 在 Java 开发中,我们经常会提到 JVM。我们知道 JVM 是 Java 虚拟机,但是它的运行原理是什么...

  • JAVA程序运行原理

    JAVA程序运行原理 编写 .java 源文件 编译成 .class 文件 运行分配 JVM 数据区 JVM 运行...

  • JVM笔记 | Java垃圾回收(GC)

    概述 在JVM的运行时数据区中,程序计数器、JVM栈和本地方法栈随线程而生,随线程而灭,内存分配和回收具备确定性,...

  • 4. Java并发编程基础

    Java多线程 Java程序的运行是main线程和多个其他线程的同时运行,包括JVM内部线程 使用多线程的原因:更...

  • 深入浅出JVM

    本课时的主题是JVM原理。JVM是Java程序运行基础,面试时一定会遇到JVM相关的题。本课时会先对面试中JVM的...

  • iOS延时执行测试

    在iOS程序中运行结果的原理 performSelector:@selector(logb)知识点:告诉线程直接调...

网友评论

      本文标题:线程在JVM中的运行原理

      本文链接:https://www.haomeiwen.com/subject/peypphtx.html