一 、问题定位 手段一:通过 jstat -gcutil 快速定位GC问题(首先) 命令格式: jstat -gcutil <pid> <period> 命令样例:jstat -gcutil 11900 3s > 监控进程11900的GC情况, 每3s输出一条记录。 要点:O列(老年代内存使用率)一 ...
分类:
其他好文 时间:
2018-09-23 16:27:43
阅读次数:
207
标记/整理算法 标记/整理算法与标记/清除算法非常相似,它也是分为两个阶段:标记和整理。下面LZ 给各位介绍一下这两个阶段都做了什么。 标记:它的第一个阶段与标记/清除算法是一模一样的,均是遍历GC Roots,然后将存活的对象标记。 整理:移动所有存活的对象,且按照内存地址次序依次排列,然后将末端... ...
分类:
编程语言 时间:
2018-09-22 22:26:25
阅读次数:
266
题目链接:http://poj.org/problem?id=1284 题目描述: 题目大意: 一个质数原根的个数 题解: 结论题 一个数n的原根的个数等于$\varphi(\varphi(n))$ ...
分类:
其他好文 时间:
2018-09-14 16:06:51
阅读次数:
158
一、根搜索算法: (1)定义:通过一系列名为"GC Roots"的对象作为起点,从这些起点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连的时候,则证明此对象不可用 (2)GC Roots对象包括这几种:虚拟机栈中引用的对象;方法区中的类静态属性引用的对象;方法 ...
分类:
编程语言 时间:
2018-09-13 14:05:02
阅读次数:
179
本文来自网易云社区 1 垃圾回收中的重要概念 1.1 定义 In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector, or just co ...
分类:
其他好文 时间:
2018-08-28 20:30:10
阅读次数:
188
Java语言引入了垃圾回收机制,让C++语言中令人头疼的内存管理问题迎刃而解,使得我们Java狗每天开开心心地创建对象而不用管对象死活,这些都是Java的垃圾回收机制带来的好处。但是Java的垃圾回收机制的核心原理是什么呢?今天我们来聊聊GC回收算法吧。 JVM的GC回收场景很复杂,不是单个算法就可 ...
分类:
编程语言 时间:
2018-08-25 15:31:38
阅读次数:
223
判断对象的存活 引用计数 快,方便,实现简单,缺点:对象相互引用时,很难判断对象是否改回收。 可达性分析 来判定对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象 ...
分类:
其他好文 时间:
2018-08-24 16:08:42
阅读次数:
195
一. 单向绑定(ng-bind)和双向绑定(ng-model)的区别: 1.ng-bind 单向数据绑定($scope->view),用于数据显示,简写形式,{{}}。 而这两者的区别,在于页面没有加载完毕时,{{val}}会直接显示到页面,直到angular渲染该绑定数据,这种写法可能将{{val ...
分类:
Web程序 时间:
2018-08-18 21:17:35
阅读次数:
208
垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。 垃圾回收其实做了两件事:1、发现无用的对象;2、回收无用对象占用的内存空间。 垃圾回收算法 1、应用计数法 对象中添加一个引用计数器,每当一个 ...
分类:
编程语言 时间:
2018-08-14 21:11:26
阅读次数:
157
3.1 概述 垃圾收集器要解决哪些问题? 哪些内存需要回收 什么时候回收 如何回收 哪些内存需要回收 什么时候回收 如何回收 引用计数算法:当有一个地方引用,+1,引用失效,-1。 缺点:对象之间相互循环引用的问题。 可达性分析算法: 思路:通过一系列的成为“Gc Roots"的对象作为起始点,从这 ...
分类:
编程语言 时间:
2018-08-11 15:35:33
阅读次数:
190