草庐IT

java - 引起一致的 GC Churn 的技术

我希望在应对大量正在进行的垃圾收集的同时,对某些东西的性能进行基准测试。我之前已经对它在稳定的单线程运行中的行为进行了基准测试,现在我想在压力更大的JVM中进行相同的测试;本质上,我想让后台线程以合理一致的速度创建和销毁对象。我正在寻找有关如何实现稳定但GC密集型操作的建议。它需要完成几个目标:在GC上花费相当多的时间(比如20-50%)随着时间的推移做大致一致的工作量,并为GC创建类似一致的工作量避免溢出堆并触发Java堆空间错误避免GC过载并触发GCoverheadlimitexceeded错误 最佳答案 我在可能导致垃圾收集量

java - 如何衡量 C++ 或 Java 文件的复杂性?

我想开始测量MichaelFeathers所说的代码湍流,即churnvs.complexity.为此,我需要衡量C++或Java文件的复杂性。所以我找到了几个测量圈复杂度(CC)的工具。他们每个人都在功能或方法级别很好地衡量CC。但是,我需要一个文件级别的指标,但它们在这方面做得并不好。一个工具只返回文件中所有方法复杂度的平均值,而另一个工具将整个文件视为一个巨大的方法,即计算整个文件中的所有决策点。所以我做了一些研究,发现McCabe仅根据模块来定义CC——他们将模块定义为函数——而不是文件(参见thispresentation的幻灯片20和30)。我认为这是有道理的。所以现在我只