,从而当线程切换回来时,就知道上次线程执行到哪了
程序计数器的特点
是一块较小的内存空间
线程私有,每个线程都有自己的程序计数器
生命周期:随着线程的创建而创建,随着线程的销毁而销毁
是一个唯一不会出现的...,当前这个栈帧中调用另一个方法,与之对应的额栈帧又会被创建,新创建的栈帧压入栈顶,变成当前的活动栈帧,方法结束后,当前栈帧的返回值变成新的活动栈帧的中的操作数栈的一个操作数,如果没有返回值,那么新的活动栈帧中操作数栈的操作数没有变化...,第二阶段遍历整个堆,把未标记的对象清除,此算法需要暂停应用,同时产生内存碎片
③: 复制算法 此算法把内存划分为两个相等的区域,每次只使用一个区域,垃圾回收时,遍历当前使用的区域,把正在使用的对象复制到另一个区域中每次算法每次只处理正在使用的对象...,因此复制的成本比较小,同时复制过去以后还能进行相应的内存整理,不会出现"碎片问题",此算法的缺点也很明显,需要两倍的内存空间
④: 标记-整理:此算法结合了"标记-清除"和:复制算法的两个的优点,也是分两个阶段...,第一个阶段从根节点开始标记所有被引用对象,第二阶段遍历整个堆,清除未标记的对象并且把存活的对象"压缩"到堆的其中一块,按顺序排放,,此算法避免"标记-清除"的碎片问题,同时也避免"复制"的空间问题
4