我有一些哈希图
如果我做这样的事情:
XYZ obj = new XYZ();
hm.put("<unique-id>",obj);
XYZ obj2 = new XYZ();
hm.put("<unique-id>",obj2);
.
.
.<more operations>
.
.
hm = null;
我的代码在 hm=null 语句之后不再引用 obj 或 obj2。
那么我能确定 jvm 也会很快垃圾收集 obj 和 obj2 吗?
此外,在
hashmap是一个巨大集合的情况下,我不想在HashMap上使用Iterator来获取和迭代每个对象并将其设置为null。
只是 hm=null 的上述 GCing 整个对象集合的东西是否为我映射?
如果不再引用某个对象,则可以确保正确对该对象进行垃圾回收。这意味着,如果您将哈希映射设置为 null
,并且您知道映射中的所有项目都没有被其他对象引用,那么它们将被垃圾回收。如果您想手动调用 gcc,请记住,是否执行 gcc 进程最终由 JVM 做出!
我有一些线程,它们被赋予随机数(1到n),并被指示按排序顺序打印它们。我使用了信号量,这样我就获得了许可数=随机数,并释放了一个比所获得的多的许可。 获得=随机数;释放=1个随机数 信号量的初始许可计数为1。所以随机数为1的线程应该获得许可,然后是2,依此类推。 这是根据下面给出的文档支持的 不要求释放许可证的线程必须通过调用acquire()获得该许可证。 问题是我的程序在1代表n后卡住了 我的
以某种方式“释放”类
问题内容: 当我尝试在小程序中同时播放两个声音时,它将不起作用。我正在使用s。甚至可以在小程序中同时播放两个声音吗? 问题答案: 从Java 1.3+开始,请使用Java Sound API 的类。它类似于基于applet的类,但更好。 EG改编自Java声音信息上显示的EG。
问题内容: 在下面的代码中,迭代运行两次。 是否可能恰好在第一次迭代和第二次迭代之间运行“ test2 <-true”? 我的意思是,在第一次迭代结束而第二次迭代未开始时,是否将true发送给“ test2”? 问题答案: 是。由于您的频道已缓冲,可以保存1个值。主执行流程可以继续进行,而无需您的匿名goroutine读取您发送到通道的值,并且可以在goroutine唤醒并读取通道上的值之前在通道
问题内容: 该脚本未遍历“模块”数组的所有值。 这是运行的结果。该数组显示4个元素,但是.each黑色中的代码仅执行一次。 正在运行:打印消息[Module @ 71f09325,Module @ e1ddb41,Module @ 7069a674,Module @ 1f68f952]正在 运行:打印消息模块名称::::: puppetlabs-ntp正在 运行:打印消息安装非自定义正在 运行:工
问题内容: 我有一个对象列表,需要将其转换为映射,键是每个元素的函数,值是每个元素的另一个函数的列表。实际上,这是根据元素的功能对元素进行分组。 例如,假设一个简单的元素类: 以及这些的列表: 然后我想要一张地图,如下所示: 任何人都可以提出在Java中 无需进行迭代 的简洁方法吗?LambdaJ的方法与Guava的组合几乎到达了那里,但没有生成地图。 问题答案: 番石榴具有Maps.unique
知道怎么释放5432端口吗?
问题内容: 如何在运行时释放Node.js模块以节省内存或提高整体性能。 我的应用程序在运行时会在Node.js中动态加载模块,但不会卸载其中的任何模块。我正在寻找这种功能,特别是。在代码加载模块后更新已更改的模块;并卸载可能不再使用的模块。 有什么见解吗? 谢谢。 问题答案: 听起来您正在创建某种插件系统。我将看看Node VM:http: //nodejs.org/docs/latest/ap