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 的内存模型

        

    可见性

    重排序

    指令重排

  • 相关阅读:
    HDU 5918 SequenceI (2016 CCPC长春站 KMP模版变形)
    HDU 4585 Shaolin (set的应用)
    HDU 4329 MAP(stringstream的用法)
    CodeForces 698B Fix a Tree (并查集应用)
    UVALive 2520 Holedox Moving(BFS+状态压缩)
    UVA
    毛竹
    kmp
    博弈论
    最长回文子串
  • 原文地址:https://www.cnblogs.com/wind90/p/5457120.html
Copyright © 2011-2022 走看看