WeakHashMap类

WeakHashMap类一代码示例importjava.util.*;publicclassWeakHashMapTest{ publicstaticvoidmain(String[]args) { WeakHashMapwhm=newWeakHashMap(); //HashMapwhm=newHashMap(); //将WeakHashM…

大家好,又见面了,我是你们的朋友全栈君。

一 代码示例

import java.util.*;

public class WeakHashMapTest
{
	public static void main(String[] args)
	{
		WeakHashMap whm = new WeakHashMap();
		//HashMap whm = new HashMap();
		// 将WeakHashMap中添加三个key-value对,
		// 三个key都是匿名字符串对象(没有其他引用)
		whm.put(new String("英语") , new String("优秀"));
		whm.put(new String("数学") , new String("及格"));
		whm.put(new String("英文") , new String("中等"));
		//将 WeakHashMap中添加一个key-value对,
		// 该key是一个系统缓存的字符串对象。
		whm.put("java" , new String("中等"));    // ①
		// 输出whm对象,将看到4个key-value对。
		System.out.println(whm);
		// 通知系统立即进行垃圾回收
		System.gc();
		System.runFinalization();
		// 通常情况下,将只看到一个key-value对。
		System.out.println(whm);
	}
}

 

二 运行结果

{英文=中等, java=中等, 数学=及格, 英语=优秀}
{java=中等}
当whm用HashMap创建时,结果如下。
{java=中等, 英文=中等, 数学=及格, 英语=优秀}
{java=中等, 英文=中等, 数学=及格, 英语=优秀}
三 结果分析
如果WeakHashMap对象的key所引用的对象没有被其他强引用变量所引用,则这些key所引用的对象可能被垃圾回收,WeakHashMap也可能自动删除这些key所对应的key-value对象。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138260.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 协议脚本用什么软件写_脚本为什么叫脚本

    协议脚本用什么软件写_脚本为什么叫脚本性能测试准备首先确定软件的通讯协议、一般C/S架构采用的是socket协议基本流程建立与服务器短的链接 rc=lrs_create_socket(“socket0″,”TCP”,”localHost=0″,”RemoteHost=127.0.0.1:8080″,LrsLastArg); 注释:RemoteHost为服务器端地址和端口 链接是否成功,rc=…

  • 顶级域名 一级域名 二级域名 三级域名划分「建议收藏」

    顶级域名 一级域名 二级域名 三级域名划分「建议收藏」域是分层管理的,就像中国的行政级别。最高层的域是根域(root)".",就是一个点,它就像国家主席一样。全球只有13个根域服务器,基本上都在美国,中国一台根域服务器都没有。根域的下一层就是第二层次的顶级域(TLD)了,那么它就是各省省长了。顶级域一般两种划分方法:按国家划分和按组织性质划分。◇按国家划分:.cn(中国)、.tw(台湾)、.hk(香港)。基本都是两个字母的。◇按组…

  • python基础知识点汇总

    python基础知识点汇总本文包括python基本知识:简单数据结构,数据结构类型(可变:列表,字典,集合,不可变:数值类型,字符串,元组),分支循环和控制流程,类和函数,文件处理和异常等等。(1)简单数据结构标识符第一个字符必须是字母表中字母或下划线_。 标识符的其他的部分由字母、数字和下划线组成。 标识符对大小写敏感。python中数字有四种类型:整数、布尔型、浮点数和复数。int(整数),如1,只有一种整数类型int,表示为长整型,没有python2中的Long。 bool(…

    2022年10月16日
  • CountDownTimer_bytebuffer slice

    CountDownTimer_bytebuffer slicepublicclassCountDownTimerManager{/***总倒计时*/privatelongmillisInFuture=0;/***回调时间*/privatelongcountDownInterval;/***倒计时完成回调*/privateFinishCountDownfinishCountDown;/**

  • ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’「建议收藏」

    ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’「建议收藏」注:原因为MySql8.0.11换了新的身份验证插件(caching_sha2_password),原来的身份验证插件为(mysql_native_password)。而客户端工具NavicatPremium12中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的登录密码加密规则还原成mysql_native_passwor…

  • jsp中得到ContextPath的两种方法

    jsp中得到ContextPath的两种方法1.script 2.el ${pageContext.request.contextPath}

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号