zoukankan      html  css  js  c++  java
  • JVM

    1, PC寄存器

          每个线程拥有一个PC寄存器

          在线程创建时创建

          指向下一条指令的地址

         执行本地方法时,PC的值为undefined

    2,方法区

         保存装载的类信息

                类型的常量池

                字段,方法信息

        方法字节码

          通常和永久区关联在一起

    *    JDK 6时,String 等常量信息置于方法区,JDK7时,已经移到了 堆

    3,JAVA堆

         和程序开发密切相关

          应用系统对象都保存在堆中

          所有线程共享JAVA堆

         对分代GC来说,堆也是分代的

         GC 的主要工作区间

      

          |————————————————-  |

          |    eden  | s0   |  s1 |  tenured      |

          |___________________________|

    4,   JAVA 栈

         线程私有的

         栈由一系列帧组成(JAVA 栈也叫帧栈)

         帧保存一个方法的局部变量,操作数栈,常量池指针

      每一次方法调用创建一个帧,并压栈

    局部变量在栈上分配,栈上分配不可能出现内存泄漏

    java 中的栈上分配

                  

    逃逸指的是   栈是线程私有的, 是否能被其他的线程引用

    Java 的内存模型

        

    可见性

    重排序

    指令重排

  • 相关阅读:
    C# 常用函数和方法集
    CSS选择器、优先级和匹配原理
    都是王安石惹的祸?
    世界上的一类
    历史之不可理喻片段
    历史惊人的相似
    20世纪鲜为人知的军事巨灾
    unity制作简单血条
    Unity中Instantiate物体失效问题
    Unity3D实现DoubleClick的一种方法
  • 原文地址:https://www.cnblogs.com/wind90/p/5457120.html
Copyright © 2011-2022 走看看