一、什么内存会被回收 可达性分析算法 通过一系列的GC ROOT的对象作为超始点,从这些节点开始向下搜索,搜索所走的路径称为"引用链",当一个对象到GC ROOT之间没有任何引用链,则会对该对象进行一次标记,说明对象暂时是没用的 GC ROOT对象指: 虚拟机栈(栈帧中的局部变量表)中的引用对象 方 ...
分类:
其他好文 时间:
2018-12-28 10:45:28
阅读次数:
216
一、标记清除算法 标记清除算法顾名思义,就是将需要回收的对象进行标记,然后进行清除。那么这个算法就有标记和清除两种过程。标记过程主要是通过可达性分析算法进行判断存活对象,然后遍历所有的对象来找到需要回收的对象,开始进行清除过程。 这种算法虽然非常的简单,但是也有很多缺点:1.效率问题,上面我们已经将 ...
分类:
编程语言 时间:
2018-12-17 02:41:02
阅读次数:
201
排序算法 算法分析 算法稳定性 如果一种排序算法不会改变关键码值相同的记录的相对顺序,则称为稳定的(stable) 不稳定的算法在某种条件下可以变为稳定的算法,而稳定的算法在某种条件下也可以变为不稳定的算法。例如,对于冒泡排序算法,原本是稳定的排序算法,如果将记录交换的条件改成a[j].key>=a ...
分类:
编程语言 时间:
2018-12-12 22:07:25
阅读次数:
326
对象是否存活Java的GC基于可达性分析算法(Python用引用计数法),通过可达性分析来判定对象是否存活。这个算法的基本思想是通过一系列"GCRoots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GCRoots没有任何引用链相连时(图论称之为不可达),则证明此对象是不可用的。无论引用计数法,还是可达性分析都离不开“引用”的概念。Java
分类:
其他好文 时间:
2018-12-09 23:40:04
阅读次数:
260
机器学习 定义:机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 分类:根据训练集是否标注,9可以 ...
分类:
其他好文 时间:
2018-12-09 16:22:47
阅读次数:
180
对象是否存活 Java的GC基于可达性分析算法(Python用引用计数法),通过可达性分析来判定对象是否存活。这个算法的基本思想是通过一系列"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时(图论称之为不可达), ...
分类:
其他好文 时间:
2018-12-08 11:30:19
阅读次数:
126
2018.2~2018.6 萤石图片分析(人形检测,身份证识别)项目 核心成员 简介:萤石图片分析项目是为互联网平台提供线上的图片分析服务,用户上传图片到云存储,下派给服务器分析, 通过智能分析算法对图片进行智能分析,并将结果返回给用户。 职责:主要负责身份证识别项目的组件和引擎开发,以及后期算法更 ...
分类:
其他好文 时间:
2018-11-29 11:15:59
阅读次数:
174
实践题目:求经过数字三角形的最大和 问题描述:从三角形的顶端往下走,求经过数字之和最大的一条路径。 算法描述:把第0行第0列的值全都赋值为零,这样三角形的数a[i][j]就都可以用统一的式子表示了,最后在第n行的时候经过比较得到答案。 算法时间及空间复杂度分析:算法中使用了双重循环,所以该算法的时间 ...
分类:
其他好文 时间:
2018-11-11 23:22:49
阅读次数:
125
算法的时间复杂度 编写算法时,需要对算法进行分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。这是用来衡量你的算法好不好,以及能不能用。这在算法的编写当中至关重要。因为时间复杂度 ...
分类:
编程语言 时间:
2018-11-02 23:52:00
阅读次数:
221