Java GC
Java面试大全
分享一些有关于 Java 体系的知识,包括Java 基础知识/数据结构/算法/面试技巧,Spring/Springboot/MQ源码分析,高并发/高性能/分布式/微服务架构的原理,JVM性能优化 ,希望能让大家在技术上和思想上带来一些提升。
展开
-
Java GC的那些事(上)
前言与C语言不同,Java内存(堆内存)的分配与回收由JVM垃圾收集器自动完成,这个特性深受大家欢迎,能够帮助程序员更好的编写代码,本文以HotSpot虚拟机为例,说一说Java GC的那些事。Java堆内存在 JVM内存的那些事 一文中,我们已经知道Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆上进行内存分配。为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代(Young G...转载 2018-05-29 09:23:48 · 13229 阅读 · 1 评论 -
Java GC的那些事(下)
收集算法垃圾收集算法主要有:标记-清除、复制和标记-整理。1、标记-清除算法对待回收的对象进行标记。算法缺点:效率问题,标记和清除过程效率都很低;空间问题,收集之后会产生大量的内存碎片,不利于大对象的分配。2、复制算法复制算法将可用内存划分成大小相等的两块A和B,每次只使用其中一块,当A的内存用完了,就把存活的对象复制到B,并清空A的内存,不仅提高了标记的效率,因为只需要标记存活的对象,同时也避免...转载 2018-05-29 09:22:43 · 13078 阅读 · 1 评论