1. 创建 project 2. 加载 source code 3. 连接 iphone 或 虚拟机,选择 app 4. 打开 Xcode -> Open Developer Tool -> Instruments 3.1 打开 allocations (页面包含: Allocations, VM ...
分类:
移动开发 时间:
2018-04-20 19:29:14
阅读次数:
196
对象已死么? 判断一个对象是否存活一般有两种方式: 1、引用计数算法:每个对象都有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1。计数为0时可以回收。 2、可达性分析算法(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对 ...
分类:
编程语言 时间:
2018-04-14 18:04:40
阅读次数:
228
Deep history 深度学习的历史 The roots of deep learning reach back further than LeCun’s time at Bell Labs. He and a few others who pioneered the technique wer ...
分类:
系统相关 时间:
2018-04-10 17:46:07
阅读次数:
217
遍历 广度非递归遍历 js const travelWidely=(roots)= { const queue = [...roots]; while (queue.length){ const node = queue.shift(); //打印被遍历的节点 if(node===undefined ...
分类:
编程语言 时间:
2018-04-03 22:03:55
阅读次数:
1350
1.在Java中,对象什么时候可以被垃圾回收? 当一个对象到GC Roots不可达时,在下一个垃圾回收周期中会尝试回收改对象,如果该对象重写了(five呢来子)finalize()方法,并且方法中重新将自己赋予某个引用达到自救效果时,那么这个对象就不会被回收,如果没有“自救”,则该对象会被回收。 2 ...
分类:
编程语言 时间:
2018-03-29 00:10:23
阅读次数:
176
根搜索算法 原理:设立若干种根对象,当任何一个根对象到某一个对象均不可达时,则认为这个对象是可以被回收的。一般是对象持有的引用指向该对象不可达 在JAVA语言中,可以当做GC roots的对象有以下几种: 1、虚拟机栈中的引用的对象。 2、方法区中的类静态属性引用的对象。 3、方法区中的常量引用的对 ...
分类:
编程语言 时间:
2018-03-20 14:00:02
阅读次数:
194
之前在看深入理解Java虚拟机一书中第一次接触相关名词,但是并不理解,只知道Object obj = new Object()类似这种操作的时候,obj就是强引用。强引用不会被gc回收直到gc roots不可达时。而对其他三个名词并不清楚,因为并没有被真正使用过。通过查看软引用,弱引用和虚引用的源码 ...
分类:
编程语言 时间:
2018-03-11 02:36:58
阅读次数:
232
Java比起C++一个很大的进步就在于Java不用再手动控制指针的delete与free,统一交由JVM管理,但也正因为如此,一旦出现内存溢出异常,不了解JVM,那么排查问题将会变成一项艰难的工作。 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区。这些区域都有各自 ...
分类:
其他好文 时间:
2018-03-07 10:31:39
阅读次数:
220
1.在地址栏键入"about:config" 点击“我了解此风险” 2.在下方页面新建布尔值 3.输入首选项名称为“security.enterprise_roots.enabled”并把值设置为 true 4.重启浏览器,连接可正常访问 ...
分类:
Web程序 时间:
2018-03-06 19:07:49
阅读次数:
201
引言 接App优化之内存优化(序), 作为App优化系列中内存优化的一个小部分. 由于内存相关知识比较生涩, 内存优化中使用到的相关工具, 也有很多专有名词. 对Java内存管理, GC, Android内存管理, Dalvik/ART等知识有一个理论的认识, 可以让我们更好的使用这些工具, 分析内 ...
分类:
移动开发 时间:
2018-02-25 19:17:16
阅读次数:
294