引用计数(Reference Counting)

循环引用问题

标记­清除(Mark and Sweep)

内存池(Memory Pools)

Eden 是内存中的一个区域, 用来分配新创建的对象 。存活区(Survivor Spaces)Eden 区的旁边是两个存活区, 称为 from 空间 和 to 空间 。需要着重强调的的是, 任意时刻总有一个存活区是空

的(empty)。

Full GC(完全GC)清理的是整个堆, 包括年轻代和老年代空间。

GC 算法

各种GC算法在删除不可达对象时略有不同, 但总体可分为三类: 清除(sweeping)、整理(compacting)和复制
(copying)。

年轻代和老年代的串行GC(Serial GC)
年轻代和老年代的并行GC(Parallel GC)
年轻代的并行GC(Parallel New) + 老年代的CMS(Concurrent Mark and Sweep)
G1, 负责回收年轻代和老年代

GC 调优(基础篇)

1. 列出性能调优指标(State your performance goals)
2. 执行测试(Run tests)
3. 检查结果(Measure the results)
4. 与目标进行对比(Compare the results with the goals)
5. 如果达不到指标, 修改配置参数, 然后继续测试(go back to running tests)

GC性能指标 :

Latency(延迟)
Throughput(吞吐量)
Capacity(系统容量)

最新文章

  1. php 生成随机字符串 abcdeft....789
  2. Yii2提交表单提示无法验证
  3. Datatable转换Json
  4. error C2065: “CMainFrame”: 未声明的标识符
  5. Android自定义View 构造方法 遇到的一些问题
  6. BZOJ 1492: [NOI2007]货币兑换Cash( dp + 平衡树 )
  7. win7下wordPress本地搭建博客详解(深度亲测整理---傻瓜式详细教程)
  8. 【自由谈】城域网IPv6过渡技术——MAP技术(4)
  9. python项目练习地址
  10. redis的常用命令
  11. oracle 数据库中的序列
  12. VMware Tools 继续运行脚本未能在虚拟机中成功运行。
  13. Python中eval函数的作用
  14. MySQL RPM二进制安装
  15. 安装Nodejs、npm、Less
  16. 微信小程序开发平台新功能「云开发」快速上手体验
  17. dhtmlxtree 如何得到xml,json等文件中的自定义的属性值
  18. vue808
  19. win下svn常用操作笔记
  20. whu暑期集训#1

热门文章

  1. jQuery学习(二)
  2. 自定义Bootstrap样式弹出框
  3. 小猪的Python学习之旅 —— 16.再尝Python数据分析:采集拉勾网数据分析Android就业行情...
  4. 图论--拓扑排序--判断是否为DAG图
  5. The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)
  6. muduo网络库源码学习————日志类封装
  7. docker 安装centos7并SSH远程连接
  8. Linux中的程序和进程,PID和PPID
  9. electron-vue 运行项目时会报Electron Security Warning (Node.js Integration with Remote Content)警告
  10. Python3 迭代器与生成器 - 学习笔记