jvm

jvm比较重要的两点

一、jmm

即 java memory model

二、GC垃圾回收机制

一、引用计数算法:将所有对象的引用进行计数,当对象的计数器为0时可被回收
效率高,但是存在重复引用的问题
二、可达性算法,
遍历所有的对象,将不可达对象进行回收
(1)标记-清除算法
从根对象进行遍历,将所有可达对象进行标记,将所有未标记的对象进行回收。


image.png

缺点:碎片化
(2)复制算法:
使用两块内存空间,将所有可达对象复制到另一块内存,然后对当前内存进行回收
可解决碎片化,只适合对象存活率低的场景,存活率高会消耗大量内存。


image.png

image.png
     (3)标记-整理算法
image.png

image.png

(4)分代收集算法


image.png
image.png
image.png
image.png
image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JVM架构 当一个程序启动之前,它的class会被类装载器装入方法区(Permanent区),执行引擎读取方法区的...
    cocohaifang阅读 5,644评论 0 7
  • 原文阅读 前言 这段时间懈怠了,罪过! 最近看到有同事也开始用上了微信公众号写博客了,挺好的~给他们点赞,这博客我...
    码农戏码阅读 11,216评论 2 31
  • 许多高级编程语言都带有自动垃圾回收特性,以将程序员从繁琐复杂的内存分配和释放工作中解脱。本文将概述常见的垃圾回收算...
    kelgon阅读 6,197评论 2 52
  • Java和C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进来,墙里面的人想出来。 对象...
    胡二囧阅读 4,979评论 0 4
  • 左岸布衣阅读 1,514评论 0 4