欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java线程学习笔记

程序员文章站 2022-05-04 18:18:31
...

java线程运行基本原理

Java Virtual Machine Stacks (Java 虚拟机栈)

JVM中由堆、栈、方法区所组成,其中栈内存就是给线程使用,每个线程启动后,虚拟机就会为其分配一块栈内存。

  • 每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存
  • 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法
public class TestFrame {
    public static void main(String[] args) {
        method1(10);
    }

    private static void method1(int x) {
        int y = x + 1;
        Object m = method2();
        System.out.println(m);
    }

    private static Object method2() {
        Object n = new Object();
        return n;
    }
}

java线程学习笔记

  1. 类加载,将方法的字节码存入方法区
  2. 启动主线程,为主线程分配栈内存,进行任务调度
  3. 执行主方法,分配栈帧 (局部变量表会一次性为创建所有局部变量)
  4. 调用 method1 为method1 分配栈帧内存

java线程学习笔记