GC工作机制
来源:互联网 发布:便宜好用的爽肤水 知乎 编辑:程序博客网 时间:2024/05/22 10:52
SUN的jvm内存池被划分为以下几个部分:
Eden Space (heap)
线程最初从这个内存池分配给大部分对象。
Survivor Space (heap)
用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
Tenured Generation (heap)
用于保持已经在survivor space内存池中存在了一段时间的对象。
Permanent Generation (non-heap)
保存虚拟机自己的静态(reflective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的。
Code Cache (non-heap)
HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)。
jvm的内存回收过程是这样的:
对象在Eden Space创建,当Eden Space满了的时候,gc就把所有在Eden Space中的对象扫描一次,把所有有效的对象复制到第一个Survivor Space,同时把无效的对象所占用的空间释放。当Eden Space再次变满了的时候,就启动移动程序把Eden Space中有效的对象复制到第二个Survivor Space,同时,也将第一个Survivor Space中的有效对象复制到第二个Survivor Space。如果填充到第二个Survivor Space中的有效对象被第一个Survivor Space或Eden Space中的对象引用,那么这些对象就是长期存在的,此时这些对象将被复制到Tenured Generation。
若垃圾收集器依据这种小幅度的调整收集不能腾出足够的空间,就会运行Full GC,此时jvm gc停止所有在堆中运行的线程并执行清除动作
- GC工作机制
- GC工作机制
- GC工作机制
- GC工作机制详解
- 【转载】GC工作原理机制
- JVM结构&GC工作机制
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解
- jvm内存划分与GC工作机制
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解 .
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解
- JVM结构、GC工作机制详解
- 双指针的作用和用法
- 即点即译
- Vuforia Architecture(高通组件)
- C语言根据日期判断星期几(使用基姆拉尔森计算公式)
- 比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍
- GC工作机制
- 修改tomcat项目的图标
- netstat 命令
- Servlet.service() for servlet jsp threw exception java.lang.Il在jsp中使用jspsmartupload组件下载文件时将抛出异常的解决方案
- AR 组件
- 用google-perftool分析程序的内存/CPU使用
- 通过django-wsgi部署在apache上碰到的问题和解决方法
- 教大家几个技巧可以稍微让你觉得它没那么卡!!
- linux 命令别名