Java垃圾收集算法
时间:2019-08-27
本文章向大家介绍Java垃圾收集算法,主要包括Java垃圾收集算法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、标记-清除算法
最基础的收集算法、主要对内存中的不使用的内存标记为可回收状态,进行回收
缺点: 标记、回收效率不高还会导致内存分配不够连续,容易触发新生代垃圾回收
2、复制算法
讲可用内存分为两部分,每次只是用一部分,当其中一部分内存使用完之后,就将存活的对象复制到另外一块,然后对已使用的进行清理。
缺点:使用率降低、特别是对象存活率较高时需要频繁的复制操作,如果使用的一块对象都存活着会怎么样?
3、标记-整理算法
标记-清除算法的升级,让所有存活的对象向内存一端移动,然后清理掉边界以外的内存
4、分代收集
根据对象存活周期将内存划分为几块,新生代划分为两块负责清理大量死去的对象和复制少量存活的对象,老年代对象存活率高,使用标记清理
新生代使用复制算法、老年代使用标记整理算法
原文地址:https://www.cnblogs.com/masterZ/p/11419313.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- kubernetes使用securityContext和sysctl
- 浅谈分词算法基于字的分词方法(HMM)
- 优雅的重启服务
- Go defer 会有性能损耗,尽量不要用?
- 带入gRPC:分布式链路追踪 gRPC + Opentracing + Zipkin
- 聊聊Golang逃逸分析
- 结构型设计模式:适配器模式和门面模式
- 结构型设计模式:代理模式
- kubernete中的原子调度单位:pod
- mybatis-generator在命令行及IEAD中的使用
- mybatis-generator在命令行及IDEA中的使用
- 70-STM32+ESP8266+AIR202基本控制篇-移植使用-移植单片机MQTT底层包到自己的工程项目
- springboot研究:springboot自带监控actuator
- springboot研究:springboot使用swagger自动构建api
- numpy/pandas瞎搞系列(一):OLS,WLS的numpy实现