我怀疑我使用静态属性可能是原因。这是我今天所做的一个例子:
public class StaticReferences
{
public static readonly object Fixed1 = new object();
}
public class ShortLived
{
public object Object1;
}
public class Doer // This class is instantiated once
{
public void DoStuff() // This method is called over and over a
当我尝试使用JStack获取冻结应用程序的线程转储时,其中一个线程会给出以下结果:
Thread 27560: (state = IN_NATIVE)
- org.eclipse.swt.internal.gtk.OS._gtk_adjustment_changed(int) @bci=0 (Compiled frame; information may be imprecise)
Error occurred during stack walking:
java.lang.NullPointerException
at sun.jvm.hotspot.runtime.Frame.a
我有一个代码,它将在几个小时内关闭,日志显示
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.io.FileDescriptor.<init>(FileDescriptor.java:62)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:217)
at org.jboss.netty.channel.socket.nio.NioServerSocketPip