klass, int limit) {
- if (limit == 0) {
- throw new IllegalArgumentException("limit can not be 0");
- }
- return getInstances0(klass, limit);
- }
-
- @Override
- public long sumInstanceSize(Class> klass) {
- return sumInstanceSize0(klass);
- }
-
- @Override
- public long getInstanceSize(Object instance) {
- return getInstanceSize0(instance);
- }
-
- @Override
- public long countInstances(Class> klass) {
- return countInstances0(klass);
- }
-
- @Override
- public Class>[] getAllLoadedClasses() {
- return getAllLoadedClasses0(Class.class);
- }
-
-}
diff --git a/spy/src/main/java/arthas/VmToolMXBean.java b/spy/src/main/java/arthas/VmToolMXBean.java
deleted file mode 100644
index f21000115..000000000
--- a/spy/src/main/java/arthas/VmToolMXBean.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package arthas;
-
-/**
- * VmTool interface for JMX server. How to register VmTool MBean:
- *
- *
- * {@code
- * ManagementFactory.getPlatformMBeanServer().registerMBean(
- * VmTool.getInstance(),
- * new ObjectName("arthas:type=VmTool")
- * );
- * }
- *
- * @author hengyunabc 2021-04-26
- */
-public interface VmToolMXBean {
-
- /**
- * https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html#ForceGarbageCollection
- */
- public void forceGc();
-
- public T[] getInstances(Class klass);
-
- /**
- * 获取某个class在jvm中当前所有存活实例
- * @param
- * @param klass
- * @param limit 如果小于 0 ,则不限制
- * @return
- */
- public T[] getInstances(Class klass, int limit);
-
- /**
- * 统计某个class在jvm中当前所有存活实例的总占用内存,单位:Byte
- */
- public long sumInstanceSize(Class> klass);
-
- /**
- * 获取某个实例的占用内存,单位:Byte
- */
- public long getInstanceSize(Object instance);
-
- /**
- * 统计某个class在jvm中当前所有存活实例的总个数
- */
- public long countInstances(Class> klass);
-
- /**
- * 获取所有已加载的类
- */
- public Class>[] getAllLoadedClasses();
-}
diff --git a/spy/src/main/java/arthas/package-info.java b/spy/src/main/java/arthas/package-info.java
deleted file mode 100644
index 8762944ed..000000000
--- a/spy/src/main/java/arthas/package-info.java
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- *
- * copy from arthas-vmtool/src/main/java 。
- * 因为动态链接库只能被加载一次,只能使用一份代码。放在spy jar里保证只有一份。
- * TODO 当arthas本身版本升级时,已append 到bootstrap classloader的spy jar不能升级,VmTool的接口可以会调用失败。
- *
- */
-package arthas;