标签:compact 垃圾收集器 常量池 java 加载完成 对象 过程 并发控制 操作
这里以HotSpot为例,且所说的对象指普通的Java对象,不包括数组和Class对象等。
根据内存是否规整(即用的放一边,空闲的放另一边,是否如此与所使用的垃圾收集器是否带有压缩整理Compact功能有关),分配方式分为指针碰撞(Serial、ParNe等收集器)和空闲列表(CMS收集器等)两种
并发控制:可能多个对象同时在从堆中分配内存因此需要同步,两种解决方案:虚拟机用CAS配上失败重试保证原子操作;把内存分配动作按线程划分在不同空间中进行即每个线程预先分配一块线程本地缓冲区TLAB,各线程在各自TLAB分配为各自对象分配内存。
对象的内存布局
对象的访问定位
标签:compact 垃圾收集器 常量池 java 加载完成 对象 过程 并发控制 操作
原文地址:http://www.cnblogs.com/z-sm/p/7145180.html