利用数组,实现数组去重 注意??; 场景:js常获取页面的dom树结构,存在集合中,如果使用Set, 即使dom元素被删除了,也不会被回收. 若是weakSet弱引用,会被垃圾回收机制回收。 Map 和 WeakMap ...
分类:
其他好文 时间:
2020-07-15 22:56:19
阅读次数:
49
垃圾回收与内存分配 垃圾回收与内存分配 一些基础 垃圾回收算法 垃圾回收器 常见问题 一些基础 对象的四种引用类型 强引用,内存不足时报错oom,但不会该类对象 弱引用,当内存不足时才会回收 软引用,不管内存是否充足,在gc都会回收 虚引用,任何时候都可以被回收 怎么判断对象是否仍在使用? 引用计数 ...
分类:
其他好文 时间:
2020-07-08 01:34:17
阅读次数:
81
四种引用 今天翻阅ThreadLocal的源码时发现了 WeakReference类的使用,正赶上要学习Java虚拟机的垃圾回收相关的知识,就百度了一些资料,看到有篇文章写的不错就记录下来,希望这篇文章也能对你们有所帮助。 Java中实际上有四种强度不同的引用,从强到弱它们分别是,强引用,软引用,弱 ...
分类:
编程语言 时间:
2020-07-01 23:43:53
阅读次数:
88
强符号和弱符号 如果多个目标文件包含同名的全局符号定义,那么如果这些目标文件链接时,就会出现符号重定义错误。 这类符号成为强符号(Strong Symbol)。有些符号可以被定义为弱符号(Weak Symbol)。 对于C/C++来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为 ...
分类:
其他好文 时间:
2020-06-22 23:21:41
阅读次数:
89
目录 一.介绍 二.问题提出 2.1内存原理图 2.2几个问题 三.回答问题 3.1为什么会出现内存泄漏 3.2若Entry使用弱引用 3.3弱引用配合自动回收 四.总结 一.介绍 之前使用ThreadLocal的时候,就听过ThreadLocal怎么怎么的可能会出现内存泄漏,具体原因也没去深究,就 ...
分类:
其他好文 时间:
2020-06-15 12:02:05
阅读次数:
100
整体架构 强引用 强引用是默认支持,当内存不足的时候,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会回收对象。 强引用是最常见的普通对象引用,只要还有强引用指向对象,对象就存活,垃圾回收器不会处理存活对象。一般把一个对象赋给一个引用变量,这个引用变量就是强引用。当一个对象被强引用变量 ...
分类:
其他好文 时间:
2020-06-01 14:06:08
阅读次数:
70
一、背景 一般意义上而言,Java/Android中的引用类型包括强引用、软引用、弱引用、虚引用。不同的引用类型具有各自适用的应用场景,并与JVM的GC直接相关。 作为Java/Android中的引用类型之一,WeakReference被大量的使用到系统源码、基础工具甚至具体的业务逻辑中。在解决需要 ...
分类:
移动开发 时间:
2020-05-31 21:54:36
阅读次数:
110
20、weak_ptr弱引用的智能指针 0、课前秀 + 弱引用指针weak_ptr是用来监视shared_ptr的,不会使引用计数加1,它不管理shared_ptr内部的指针,主要是为了监视shared_ptr的生命周期。 + weak_ptr没有重载操作符 和` `,因为它不共享指针,不能操作资源 ...
分类:
编程语言 时间:
2020-05-25 19:15:37
阅读次数:
66
本期实现的功能很简单,协程的重头都在co_await和异步操作上,generator本身是一个很轻的东西如果你看到这行文字,说明这篇文章被无耻的盗用了(或者你正在选中文字),请前往 cnblogs.com/pointer-smq 支持原作者,谢谢基本结构generator和future/promis... ...
分类:
编程语言 时间:
2020-05-24 13:59:39
阅读次数:
102
一、简介 使用MAT来分析内存问题,有一些门槛,会有一些难度,并且效率也不是很高,对于一个内存泄漏问题,可能要进行多次排查和对比才能找到问题原因。 为了能够简单迅速的发现内存泄漏,Square公司基于MAT开源了LeakCanary 二、使用 在app build.gradle 中加入引用: dep ...
分类:
其他好文 时间:
2020-05-22 19:05:39
阅读次数:
66