一、什么是安全点: 在可达性分析算法中查找存活的对象,首先要找到哪些是GC Roots; 有两种查找GC Roots的方法: 一种是遍历方法区和栈区来查找(保守式GC); 一种是通过OopMap的数据结构来记录引用的位置(准确式GC),如在类加载过程中,JIT编译过程中,分别记录下 类成员 和 调用 ...
分类:
其他好文 时间:
2017-06-18 23:43:10
阅读次数:
771
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其 ...
分类:
其他好文 时间:
2017-06-18 14:19:37
阅读次数:
142
这篇文章是David MacKay利用信息论,来对快排、堆排的本质差异导致的性能差异进行的比较。 信息论是非常强大的,它并不只是一个用来分析理论最优决策的工具。 从信息论的角度来分析算法效率是一件很有趣的事,它给我们分析排序算法带来了一种新的思路。 运用了信息论的概念,我们很容易理解为什么快排的速度 ...
分类:
编程语言 时间:
2017-06-13 17:26:16
阅读次数:
224
GC之判断对象是否存活的两种方法——引用计数算法、可达性分析算法 ...
分类:
编程语言 时间:
2017-06-12 00:48:15
阅读次数:
219
在主流的商用程序语言(Java、C#,甚至包括前面提到的古老的Lisp)的主流实现中,都是称通过可达性分析(Reachability Analysis)来判定对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链 ...
分类:
编程语言 时间:
2017-06-10 20:33:15
阅读次数:
196
时间序列分析算法【R详解】 https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series-modeling/ http://www.cnblogs.com/ECJTUACM-873284962/p/6917031... ...
分类:
编程语言 时间:
2017-05-29 19:20:39
阅读次数:
770
简介 在商业应用中,时间是最重要的因素,能够提升成功率。然而绝大多数公司很难跟上时间的脚步。但是随着技术的发展,出现了很多有效的方法,能够让我们预测未来。不要担心,本文并不会讨论时间机器,讨论的都是很实用的东西。 本文将要讨论关于预测的方法。有一种预测是跟时间相关的,而这种处理与时间相关数据的方法叫 ...
分类:
编程语言 时间:
2017-05-29 00:25:05
阅读次数:
366
聚类分析的定义: 聚类分析指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程,其目的是在相似的基础上收集数据来分类。 传统的聚类算法可以被分为五类:划分方法、层次方法、基于密度方法、基于网格方法和基于模型方法。 【K-means算法】 首先从n个数据对象任意选择 k 个对象作为初始聚类 ...
分类:
编程语言 时间:
2017-05-28 10:58:46
阅读次数:
185
可回收对象的判断方法 1.引用计数算法 2.可达性分析算法 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 引用计数算法的缺陷:循环引用 可达性分析算法 可达性分析算法基本原理: 通过一些 ...
分类:
编程语言 时间:
2017-05-21 09:44:42
阅读次数:
143
算法分析 算法分析 科学方法 细致的观察真实世界的特点 根据观察结果提出假设模型 根据模型预测未来的事件 继续观察并核实预测的准确性 反复直到确认预测和观察一致 一般程序算法设计与模型确定: 1. 确定输入模型,定义问题的规模 2. 识别内循环 3. 根据内循环中的操作确定成本模型 4. 对于给定的 ...
分类:
编程语言 时间:
2017-05-18 16:52:18
阅读次数:
157