Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 选择哪个JVM进行GC攻击?_Java_Garbage Collection - Fatal编程技术网

Java 选择哪个JVM进行GC攻击?

Java 选择哪个JVM进行GC攻击?,java,garbage-collection,Java,Garbage Collection,我有一个GC算法的设计,我想为JVM实现它,以便进行基准测试 有没有人有过这样的经验:哪种实现允许轻松的黑客攻击,但哪种实现仍然具有内置的GC,可以进行有意义的比较 编辑:我想要一个具有垃圾收集功能的JVM,因为我想要使用它收集统计数据,然后删除它们的GC,放入我自己的,然后进行比较。我希望它有一个好的GC,否则比较是有意义的,但我希望代码不太难处理(HotSpot有很多汇编程序,这使得任务更加困难)我不知道有没有内置GC;没有一个Java就不算多了。为什么不从OpenJDK或Harmony开始

我有一个GC算法的设计,我想为JVM实现它,以便进行基准测试

有没有人有过这样的经验:哪种实现允许轻松的黑客攻击,但哪种实现仍然具有内置的GC,可以进行有意义的比较


编辑:我想要一个具有垃圾收集功能的JVM,因为我想要使用它收集统计数据,然后删除它们的GC,放入我自己的,然后进行比较。我希望它有一个好的GC,否则比较是有意义的,但我希望代码不太难处理(HotSpot有很多汇编程序,这使得任务更加困难)

我不知道有没有内置GC;没有一个Java就不算多了。为什么不从OpenJDK或Harmony开始呢?

也许您不需要JVM,但一台虚拟机就足以测试您的算法了。除非您必须使用JVM,否则您可以使用ApacheHarmony,或者我推荐另一个VM,它是在一篇博士论文中创建的,名为。您可以查看它并浏览源代码

我认为Oracle实验室提供的将非常适合您的需要

引述他们报告的第一页:

项目概述

在这个现代托管语言的时代,我们对虚拟机的要求越来越高:更好的性能、更大的可扩展性以及对最新语言的支持研究和实验是必不可少的,但在以多种语言编写的成熟、复杂的生产虚拟机环境中不再实用

Maxine VM是下一代平台,它在这一研究领域建立了新的生产力标准。它完全用Java编写,与现代Java IDE和标准JDK完全兼容,具有模块化体系结构,允许插入GC等子系统的替代实现和编译,并配有专用开发工具(Maxine Inspector)用于调试和可视化虚拟机运行时状态的几乎每个方面

下面是一个出色的视频,演示其内存监控实用程序:


有趣的是,任何人都会发明一种新的GC算法。你认为你能在已经存在的基础上改进吗,或者你只是想学习更多关于编程的知识吗?这是一种引用计数方法,有一种循环中断的方法。增加的内存开销,但会持续收集。是的,人们仍然致力于垃圾收集,这并不是一个已解决的问题。除非打破循环是真正聪明和连续的,否则我看不出它与那些现有的算法有什么不同(不是在JVM AFAIK中使用的,而是由CPython和PHP使用的,可能还有更多)。它是;)你可以等报纸。假设基准测试显示了它的价值,你发现了什么有趣的东西吗?你能创造一个改进吗?虽然,仔细看,这可能是一个有意义的开始,但它内置的GC显然不是很好