
JVM
文章平均质量分 64
古道湫风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
垃圾收集算法
目录 一、标记-清除算法 二、复制算法 三、标记-整理算法 四、分代算法 一、标记-清除算法 最基础的算法。如名称一致,分为两个阶段:标记、清除。先标记需要回收的对象,然后对标记的对象进行回收 示意图 回收之前 回收之后 缺点:1、效率问题:标记和清除的效率都不高 2、空间问题:当把对象回收后,会造成大量的不连续内存碎片,当有大对象创建并找不到连续的足够大的内存时,会重新触发GC动作。 二、复制算法 复制算法是将内存分为两块大小相等的空间,每次...原创 2021-01-05 16:03:06 · 88 阅读 · 0 评论 -
垃圾收集(Garbage Collection GC)
一、GC需要做的三件事 哪些内存需要回收? 什么时候回收? 怎么回收? 二、判断对象是否“已死” “已死”对象:不会再通过任何途径被使用 1、引用计数算法 在对象中添加一个计数器,当被引用时加1,当引用失效时减1;计数器为0时就是不可能在被使用的 优点:实现简单、判定效率高 缺陷:无法解决对象间互相引用问题 使用:微软COM技术、使用ActionScript3的FlashPlayer、Python 2、根搜索算法 已一系列名为“GC roots”的对象为起点向下搜索,搜索走过的路径叫原创 2020-12-31 16:54:40 · 114 阅读 · 0 评论 -
java虚拟机内存区域
一、运行时数据区域 java虚拟机在执行java程序时会将内存划分为不同的区域,不用区域负责不同任务。 1、程序计数器 程序计数器(Program Couter Register)是一块较小的内存空间,作用可以当做当前线程所执行的字节码的行号指示器。 字节码解释器就是通过修改程序计数器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复 等基础功能都是依赖这个计数器来完成 因为java虚拟机的多线程是通过轮流切换并分配执行时间来实现的,在任何一刻时间中,一个处理器的一个原创 2020-12-22 14:35:09 · 108 阅读 · 1 评论