`
shuaigg.babysky
  • 浏览: 578264 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

WeakMap

 
阅读更多

WeakMap能够使用的场合是

System.gc以后,不能被引用的对象不会在weakMap中存在,例如下面:

 

在a = null;System.gc以后,weakMap中将不会再存在a的键。

 

 

                String a = new String("a");
		String b = new String("b");
		Map weakMap = new WeakHashMap();
		weakMap.put(a, "aaa");
		weakMap.put(b, "bbb");
		a = null;
		System.gc();
		Iterator iterator = weakMap.entrySet().iterator();
		while (iterator.hasNext()) {
			Map.Entry en = (Entry) iterator.next();
			System.out.println(en.getKey() + " : " + en.getValue());
		}
 
分享到:
评论

相关推荐

    JavaScript ES6中Map与WeakMap数据结构的应用与特性解析

    内容概要:本文主要介绍了 JavaScript ES6 中新增的两种数据结构——Map 和 WeakMap。相较于传统的对象来储存键值对而言,Map 提供了一种更为灵活的方式来进行键值映射。它可以支持任意类型的键(如对象、数字甚至是...

    【JavaScript源代码】JavaScript WeakMap使用详解.docx

    ### JavaScript WeakMap 使用详解 #### 一、WeakMap 概述 `WeakMap` 是 JavaScript 中的一个内置对象,它提供了一种存储键值对的方法,其中键必须是对象,值可以是任意类型的数据。与 `Map` 类似,`WeakMap` 也...

    【JavaScript源代码】JavaScript中Object、map、weakmap的区别分析.docx

    JavaScript中的Object、Map和WeakMap都是用于数据存储的结构,但在使用场景和功能特性上有着显著的区别。在ECMAScript 6之前,Object是实现键值对存储的主要方式,但存在一些限制,如键只能是字符串或Symbol。随着...

    ember-weakmap:Ember.WeakMap Polyfill插件

    传统的WeakMap(以及将成为ES2015语言一部分的WeakMap)允许从key-> map以及map-> key弱点。 这允许Map或被回收的密钥也释放状态。 不幸的是,这种双向性的弱点对于灌浆是有问题的。 幸运的是,在任一方向上的单向...

    ES6 系列之 WeakMap的使用示例

    **ES6 系列之 WeakMap的使用示例** **一、WeakMap的特性** 1. **只接受对象作为键名** 在JavaScript中,WeakMap不同于普通的Map,它只允许对象作为键,不允许基本类型如数字、字符串或布尔值。尝试用非对象作为键...

    weakmap-polyfill:适用于PHP 7.4的WeakMap polyfill

    适用于PHP 7.4的WeakMap polyfill该polyfill旨在与即将WeakMapPHP 8 WeakMap 100%兼容。介绍PHP 7.4引入了WeakReference ,但不包括WeakMap实现。,但仅在PHP 8中可用。 RFC的作者Nikita Popov强调了为什么用户区...

    weakmap-polyfill:ECMAScript6 WeakMap polyfill

    导入或需要weakmap-polyfill ,然后WeakMap将在全球范围内定义,如果在运行环境下不支持原生WeakMap。 节点 require ( 'weakmap-polyfill' ) ; var weakMap = new WeakMap ( ) ; webpack等 import 'weakmap-polyfill...

    32-Set_Map和WeakSet_WeakMap(es6方法和弱引用).ts

    32-Set_Map和WeakSet_WeakMap(es6方法和弱引用)

    详解ES6通过WeakMap解决内存泄漏问题

    ES6引入了新的数据结构`Map`和`WeakMap`,它们在处理键值对时提供了更强大的功能,并能有效地帮助解决内存泄漏问题。 首先,我们来看`Map`。`Map`是一种用于存储键值对的数据结构,它允许使用任何可哈希的值作为键...

    es6-collections, 地图,WeakMap,设置快速/简单的和声集合.zip

    es6-collections, 地图,WeakMap,设置快速/简单的和声集合 ES6 Harmony集合 禁止这是一个非常老的polyfill,它为过去 4 年提供了良好的浏览器。 如果你确实需要使用它,我不会主动维护这个项目,但是我最终会接受它...

    ECMAScript6中Map/WeakMap详解

    在ECMAScript6中,Map和WeakMap是两种新的数据结构,它们的引入是为了更好地管理和操作键值对。本文将详细解析这两种结构的特点和用法。 ### 1. Map Map对象是JavaScript中的一个强大工具,它允许我们将任意类型的...

    内存优化技巧:Vue3WeakMap的缓存策略.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿...

    Vue3响应式原理进阶:WeakMap依赖收集机制解密.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿...

    weakmap-event:将geval事件与一个对象相关联

    $ npm install --save weakmap-event 用法 var WeakmapEvent = require ( 'weakmap-event' ) var onClick = WeakmapEvent ( ) var obj1 = { } var obj2 = { } onClick . listen ( obj1 , function ( data ) { ...

    proxy-memoize:带有Proxy和WeakMap的直观魔术记忆库

    带有Proxy和WeakMap的直观魔术记忆库 项目状态 API已完成。除非我们发现一些重大问题,否则它将得到解决。在到达v1之前,我们想收集更多的错误报告和最佳实践。目前没有明显/已知的问题,但是有一些。 介绍 在像...

    cross-domain-safe-weakmap:跨域安全 WeakMap shim

    跨域安全 WeakMap 适用于跨域窗口的 WeakMap 垫片。 可用时使用本机 WeakMap。基本原理存储对窗口对象的引用会占用大量内存,即使在这些窗口对象关闭之后也是如此。 现有的 WeakMap 垫片挂着 WeakMap 键的对象。 这...

    is-weakmap:节点模块,可轻松检查对象是否为ES6 WeakMap

    是弱图 节点模块,可轻松检查对象是否为安装$ npm install is-weakmap --save用法const isWeakMap = require ( 'is-weakmap' ) ;isWeakMap ( new WeakMap ( ) ) ;//=> trueisWeakMap ( { } ) ;//=> false有关的执照...

Global site tag (gtag.js) - Google Analytics