良い一日!Java スレッドのメモリ使用量の取得に問題があります。私の調査により、ThreadMxBean ライブラリにたどり着きました。の javadoc にThreadMXBean#setThreadAllocatedMemoryEnabled
よると、getThreadAllocatedBytes
スレッドのメモリを取得できるメソッドがあるはずです。ただし、このクラスのメソッドは見つかりませんでしたが、言及されたドキュメントに記載されている他のメソッドが存在します。
例getCurrentThreadCpuTime()
とisThreadCpuTimeEnabled()
私のコードに示されています。
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadMXBean;
import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanException;
import javax.management.MalformedObjectNameException;
import javax.management.ReflectionException;
class TwoThreadsTest {
public static void main (String[] args) throws Exception {
new Coding("Jamaica").start();
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
long b = threadBean.getCurrentThreadCpuTime();
boolean bool= threadBean.isThreadCpuTimeEnabled();
System.out.println(bool);
}
}