java类编译时出错
我正在研究java的垃圾收集器部分,我已经编写了下面的java类,但是它在方法printGCStats()上显示了eclipse编辑器本身的编译时错误 选择后会显示错误“void”@预期,请告知如何克服此错误java类编译时出错,java,Java,我正在研究java的垃圾收集器部分,我已经编写了下面的java类,但是它在方法printGCStats()上显示了eclipse编辑器本身的编译时错误 选择后会显示错误“void”@预期,请告知如何克服此错误 import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; class demoGrbage { public static void m
import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
class demoGrbage {
public static void main(String[] args) {
public void printGCStats()
{
long totalGarbageCollections = 0;
long garbageCollectionTime = 0;
for(GarbageCollectorMXBean gc :
ManagementFactory.getGarbageCollectorMXBeans()) {
long count = gc.getCollectionCount();
if(count >= 0) {
totalGarbageCollections += count;
}
long time = gc.getCollectionTime();
if(time >= 0) {
garbageCollectionTime += time;
}
}
System.out.println("Total Garbage Collections: "
+ totalGarbageCollections);
System.out.println("Total Garbage Collection Time (ms): "
+ garbageCollectionTime);
}
}
}
将方法
public void printGCStats()
移出main()您已经在方法中定义了该方法。它在java中是不允许的
在main之外定义
printGCStats
并调用main方法。您已经在main
方法中编写了printGCStats
你应该这样称呼它:
public static void main(String[] args)
{
printGCStats();
}
public void printGCStats()
{
/// ...
}
这是一个非常基本的错误。如何在另一个方法中定义一个方法? 您在main()中定义了printGCStats(),这是非法的 使用以下命令:
class demoGrbage {
public static void main(String[] args) {
demoGrbage demo = new demoGrbage();
demo.printGCStats();
}
public void printGCStats()
{
long totalGarbageCollections = 0;
long garbageCollectionTime = 0;
for(GarbageCollectorMXBean gc :
ManagementFactory.getGarbageCollectorMXBeans()) {
long count = gc.getCollectionCount();
if(count >= 0) {
totalGarbageCollections += count;
}
long time = gc.getCollectionTime();
if(time >= 0) {
garbageCollectionTime += time;
}
}
System.out.println("Total Garbage Collections: "
+ totalGarbageCollections);
System.out.println("Total Garbage Collection Time (ms): "
+ garbageCollectionTime);
}
}