Java进阶:垃圾回收机制GC介绍,常见的垃圾回收算法以及垃圾回收与内存分配的关系
来源:互联网 发布:淘宝店家怎么代销 编辑:程序博客网 时间:2024/05/17 23:44
声明:学习笔记,有错误希望指出,谢谢。
一:为什么需要GC?为什么需要懂GC?
前言:或许你会问:为什么GC是自动化完成的,我们还要关注它的实现原理呢?
因为在高并发量时,我们对这些自动化技术需要监控和调节。
虽然程序计数器,虚拟机栈,本地方法栈三个区域随线程而生,随线程而销毁,在这些区域里面不需要太多的考虑垃圾的回收,但是在Java堆和方法区,一个Interface的多个实现类可能内存不一样,一个方法的多个分支也可以不一样,而且明显已知,在Web项目里面,很多对象都是随着程序的运行而产生的。
二:什么对象需要被回收?
现在我们需要来判断哪些对象是死的对象,也就是不可能再被使用的对象。
常见的垃圾收集算法。
final finally finalize介绍
三:回收方法区(永久代)
四:垃圾回收与内存分配的关系
内存分配遵循下面几个特点:
- 对象优先分配在Eden区(Eden简介链接:http://blog.csdn.net/wy5612087/article/details/52369677)。
- 大对象(需要大量连续内存空间的java对象 例如很长的字符串 数组等等)直接进入老年代。你或许会问为什么,大概我的理解就是因为在新生代中采用的垃圾回收算法是复制算法,由于这种对象占用大量的内存空间,在回收的时候性能消耗很大。
- 长期存活的对象进入老年代,上面也已经讲到。这也就是分代收集算法的前提。
- 空间分配担保(在极端情况下,内存回收后新生代全部存活,那么现在就需要老年代进行分配担保,让Survivor无法容纳的对象直接进入老年区。)
阅读全文
0 0
- Java进阶:垃圾回收机制GC介绍,常见的垃圾回收算法以及垃圾回收与内存分配的关系
- Java垃圾回收机制与典型的垃圾回收算法
- Java垃圾回收机制与典型的垃圾回收算法
- Java垃圾回收机制与典型的垃圾回收算法
- Java垃圾回收机制与典型的垃圾回收算法
- Java垃圾回收机制与典型的垃圾回收算法
- Java垃圾回收机制与典型的垃圾回收算法
- Java GC 垃圾回收机制与内存分配策略
- java垃圾回收机制,以及常用的回收算法
- 垃圾回收机制与典型的垃圾回收算法
- Java虚拟机垃圾回收(四) 总结:内存分配与回收策略 方法区垃圾回收 以及 JVM垃圾回收的调优方法
- Java的垃圾回收器GC机制
- .Java的垃圾回收机制(GC)
- Java的垃圾回收机制GC
- java 的 gc 垃圾回收机制
- GC(Java的垃圾回收机制)
- java的垃圾回收(GC)机制
- JVM的垃圾回收与内存分配
- 《MISRA-C 2004 工业标准的C编程规范》-初始化规则
- 第三周项目1---顺序表的基本运算
- Java基础部分第八节
- 枚举
- 泛泛谈SSM和SSH
- Java进阶:垃圾回收机制GC介绍,常见的垃圾回收算法以及垃圾回收与内存分配的关系
- 欢迎使用CSDN-markdown编辑器
- javascript实现web版拼图游戏
- zookeeper快速入门
- 2017年9月17日训练日记
- jsp基础(二)
- Ubuntu安装JDK
- Spring事务配置的五种方式
- HDU6214 Smallest Minimum Cut【最小割-最小边数】