[size=large]1.java线程的运行机制
每个线程都有一个程序计数器和方法调用栈。
(1)计数器指向方法区中下一条要执行的指令。
(2)方法调用栈,跟踪线程运行的的调用过程。每次调用一个方法的时候就会往里面压入一个新帧。(包括局部变量区:存放局部变量和方法参数。操作数区:存放运算过程中生成的临时数据。栈数据区:为线程执行提供相关的信息,如何正常退出,异常中断等。)
程序运行的时候,创建一个主线程main(),计数器不断的往下走,每个方法运行完毕之后,也会pop掉,局部变量的生命周期也就到了。
堆区:对象。方法区:方法的内容。栈区:方法的push和pop。[/size]
每个线程都有一个程序计数器和方法调用栈。
(1)计数器指向方法区中下一条要执行的指令。
(2)方法调用栈,跟踪线程运行的的调用过程。每次调用一个方法的时候就会往里面压入一个新帧。(包括局部变量区:存放局部变量和方法参数。操作数区:存放运算过程中生成的临时数据。栈数据区:为线程执行提供相关的信息,如何正常退出,异常中断等。)
程序运行的时候,创建一个主线程main(),计数器不断的往下走,每个方法运行完毕之后,也会pop掉,局部变量的生命周期也就到了。
堆区:对象。方法区:方法的内容。栈区:方法的push和pop。[/size]