JVM 内存管理机制

1. 内存分配图:  两栈一区一堆一计数

 

 

 

方法区里面 包含了运行时常量

 

2. 对象创建过程:

  1.   new A() 首先加载A的字节码。
  2.   分配内存,内存分配方式分两种,如果采用带压缩的垃圾回收策略,则采用“指针碰撞”的方式分配(即空闲内存连续,直接移动指针); 如果采用非压缩的垃圾回收策略,则采用空闲列表的方式分配内存。空间分配如果保证多线程问题,一个是分配加锁,另一种是TLAB本地线程缓冲分配。
  3. 对象定位。 句柄方法 + 直接指针方式  

      句柄方法:

    

          

 

    直接指针方式  :

   

 

posted @ 2015-12-25 10:21  E_star  阅读(662)  评论(0编辑  收藏  举报