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对象。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 舵机的工作原理和控制[通俗易懂]

    舵机的工作原理和控制[通俗易懂]控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制一般需要一个20

    2022年6月12日
    30
  • 使用pycharm的interpreter option为空解决办法「建议收藏」

    使用pycharm的interpreter option为空解决办法「建议收藏」新的py文件,点击直接使用pycharm打开,运行报错,interpreteroption为空第一步:选择File,进入Settings。第二步:1.选择Project中的ProjectInterpreter。2.选择下拉中的pathon解释器,如图为3.6的解释权。3.选择Apply,使设置生效。运行代码成功。…

    2025年7月22日
    8
  • Grizzly开发Echoserver实战

    Grizzly开发Echoserver实战

    2022年1月31日
    37
  • java全排列递归算法_java排列组合代码实现

    java全排列递归算法_java排列组合代码实现一、排列1、计算公式如下:2、使用方法,例如在1,2,3,4,5中取3个数排列:3、全排列当m=n时,结果为全排列。例如1,2,3,4的全排列如下:4、代码实现求无重复数组的全排列 /** *循环递归获取给定数组元素(无重复)的全排列 * *@paramoriList原始数组 *@paramoriLen原始数组size *@paramarrayCombResult数组排列结果集,可传null或空Set *@parampreList记录排列参数

    2022年8月31日
    3
  • 关于MAC安装Pycharm的总结「建议收藏」

    关于MAC安装Pycharm的总结「建议收藏」关于MAC安装Pycharm的总结昨天,我根据微信公众号里的Mac软件管家下载安装一个Pycharm,我下载的是最新版本的(2019那款),是简体中文版。下载链接:pan.baidu.com/s/1R7j0tQ5EEqAWZjP_tmz5VQ提取码:cixh大家也可以自行关注那个公众号下载你所要滴!但是我在最后激活的时候遇到了一点小麻烦,如下图所示:然后我找到了一些方法去解决,希望…

    2022年8月26日
    9
  • 2015年逻辑真题难度(2015年逻辑真题)

    说说你对数据库读写分离的理解读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。为什么要分库、分表、读写分?单表的数据量限制,当单表数据量到一定条数之后数据库性能会显著下降。数据多了之后,对数据库的读、写就会很多。分库减少单台数据库的压力。接触过几个分库分表的系统,都是通过主键进行散列分裤分表的。这类数据比较特殊,主键就是唯一的获取该条信息的主要途径。比如

    2022年4月18日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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