垃圾收集器回收哪些虚拟机内存区域 java堆和方法区 回收什么样的内存区域 回收“已死”的对象(即不再使用的对象)占用的内存 怎么判断对象“已死” 引用计数法 做法:给对象中添加一个引用计数器,每当被引用时,计数器就加1;每当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。 ...
分类:
其他好文 时间:
2019-03-01 12:16:47
阅读次数:
206
通过前面的介绍我们了解了对象创建和销毁的过程。那么JVM中垃圾收集器具体对对象回收采用的是什么算法呢?本文主要记录下JVM中垃圾收集的几种算法。 JVM的垃圾回收的算法 标记 清除算法(Mark Sweep) 标记清除算法是最基础的回收算法,该算法分为 ...
分类:
编程语言 时间:
2019-03-01 09:36:24
阅读次数:
147
CMS收集器 CMS收集器是一种以获取最短回收停顿时间为目标的收集器。基于“标记-清除”算法实现,它的运作过程如下: 初始标记 并发标记 重新标记 并发清除 初始标记、从新标记这两个步骤仍然需要“stop the world”,初始标记仅仅只是标记一下GC Roots能直接关联到的对象,熟读很快,并... ...
分类:
其他好文 时间:
2019-02-26 23:45:41
阅读次数:
301
Servlet 梳理 概述 Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又 ...
分类:
其他好文 时间:
2019-02-15 13:34:48
阅读次数:
167
十一、垃圾回收之老年代垃圾收集器 1.Serial Old收集器(标记整理算法-单线程-Client模式下) 2.Paraller Old收集器(标记整理算法-多线程-) 3.CMS收集器(标记清除算法) 4.G1收集器(新生代,老年代都可以用) ...
分类:
其他好文 时间:
2019-02-12 21:55:34
阅读次数:
228
垃圾收集器 如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现 Serial收集器 串行收集器是最古老,最稳定以及效率高的收集器,可能会产生较长的停顿,只使用一个线程去回收。新生代、老年代使用串行回收;新生代复制算法、老年代标记 压缩;垃圾收集的过程中会Stop The World( ...
分类:
其他好文 时间:
2019-02-10 12:08:35
阅读次数:
216
在.net 中类(class) 与结构(Struct)的异同。 Class 可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。 Struct 属于值类型,是分配在内存的栈上的。结构体是复制传递的。 Boolean等属于结构体。 堆和栈的区别 栈是编译期间就分配好的内存空间,因此你的代 ...
分类:
Web程序 时间:
2019-02-08 21:43:40
阅读次数:
219
A NoOp Garbage Collector JDK上对这个特性的描述是: 开发一个处理内存分配但不实现任何实际内存回收机制的GC, 一旦可用堆内存用完, JVM就会退出. 如果有System.gc()调用, 实际上什么也不会发生(这种场景下和 XX:+DisableExplicitGC效果一样 ...
分类:
编程语言 时间:
2019-02-04 10:29:05
阅读次数:
379
一 引入计数 Python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。 二 垃圾回收 1、当内存中有不再使用的部分时,垃圾收集器就会把他们清理掉。它会去检查 ...
分类:
编程语言 时间:
2019-02-02 19:06:14
阅读次数:
187
1、学习目的 当需要排查各种内存溢出、 内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。 Java内存运行时区域的各个部分,其中程序计数器、 虚拟机栈、 本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊 ...
分类:
编程语言 时间:
2019-02-01 10:13:45
阅读次数:
216