小编use*_*885的帖子

如何识别终身空间

我想构建一个MemoryWarningSystem,如许多文章所述:例如http://www.javaspecialists.eu/archive/Issue092.html.

因此,我想确定这样的终身空间:

    private MemoryPoolMXBean findTenuredGenPool() {
        for (MemoryPoolMXBean pool : ManagementFactory.getMemoryPoolMXBeans()) {

                 if(pool is tenured space)
                    return tenured

        }
    }
Run Code Online (Sandbox Code Playgroud)

我已经看到了两种不同的方法来识别终身空间

  1. 检查池名称是否等于"PS Old Gen"和/或"Tenured Gen".
  2. 检查是否" pool.getType() == MemoryType.HEAP && pool.isUsageThresholdSupported()"

问题1:CMS Old Gen怎么样?其他终身空间怎么样?我应该将所有这些添加到终身名单列表中吗?

问题2:这是检索终身空间的"安全"方式吗?它可靠吗?

谢谢!

java memory garbage-collection

5
推荐指数
1
解决办法
543
查看次数

如何有效地比较集?

给出两个集合:如何在Java中有效地比较它们?

  • (a)将它们保存为Lists,对它们进行排序并进行比较.(Comparable)
  • (b)将它们保存为Sets并比较hashCode套装?

背景:

需要进行许多比较集很小(通常每组<5个元素).

java set comparable

3
推荐指数
1
解决办法
2万
查看次数

计划在 maven-bundle-plugin 中支持“Require-Bundle”

是否有计划在 maven-bundle-plugin 中支持“Require-Bundle”,即使它不是推荐的 OSGi 方式。在某些情况下,使用“Require-Bundle”是有意义的,例如合并拆分的包。

osgi maven maven-bundle-plugin

2
推荐指数
1
解决办法
2347
查看次数

Java中线程的同步

你有一个存储对象O.

假设您在一个线程中有n个读者方法和一个编写器方法.如果一个线程调用了writer方法,那么读者方法都不能访问O,但如果一个reader方法访问O,那么任何其他读者都可以访问O而不是writer.我可以使用Java中的"synchronized"语句以某种方式实现此行为吗?如果没有:我怎么能做到这一点?

先感谢您.

java multithreading synchronization

1
推荐指数
1
解决办法
76
查看次数