我正在开发基于J2EE的企业级Web应用程序。项目包含超过1700个不同模块的类。
有些模块没有在整个人群中使用。
我如何知道哪些课程没有使用?
我们已经在采样器标签中看过JVisualVm。但它只显示内存中的活动类。但它不是持久的。 并且它也没有显示未启动的类(休眠类)
预期结果:休眠类列表(不包括依赖项)
例如:
包结构:
root
|---- com
| |---- A.java
| |---- B.java
| |---- C.java
|---- org
| |---- D.java
| |---- E.java
| |---- F.java
所有这个类都有注释@Path
其中一些是从前端调用的,其中一些不是通过ajax。有什么方法可以让我们知道正在调用哪个类或列出它?
正如你所看到的,它在java中使用REST是否有可能知道每次初始化一个新类的一些如何?
答案 0 :(得分:0)
也许greys-anatomy可以帮到你。
sc:搜索JVM加载的所有类
https://github.com/oldmanpushcart/greys-anatomy/wiki/Commands#sc
ga?>sc -Sd Address*
+------------------+---------------------------------------------------------------+
| class-info | Address |
+------------------+---------------------------------------------------------------+
| code-source | /Users/vlinux/temp/ |
+------------------+---------------------------------------------------------------+
| name | Address |
+------------------+---------------------------------------------------------------+
| isInterface | false |
+------------------+---------------------------------------------------------------+
| isAnnotation | false |
+------------------+---------------------------------------------------------------+
| isEnum | false |
+------------------+---------------------------------------------------------------+
| isAnonymousClass | false |
+------------------+---------------------------------------------------------------+
| isArray | false |
+------------------+---------------------------------------------------------------+
| isLocalClass | false |
+------------------+---------------------------------------------------------------+
| isMemberClass | false |
+------------------+---------------------------------------------------------------+
| isPrimitive | false |
+------------------+---------------------------------------------------------------+
| isSynthetic | false |
+------------------+---------------------------------------------------------------+
| simple-name | Address |
+------------------+---------------------------------------------------------------+
| modifier | |
+------------------+---------------------------------------------------------------+
| annotation | |
+------------------+---------------------------------------------------------------+
| interfaces | |
+------------------+---------------------------------------------------------------+
| super-class | java.lang.Object |
+------------------+---------------------------------------------------------------+
| class-loader | sun.misc.Launcher$AppClassLoader@4554617c |
| | `-sun.misc.Launcher$ExtClassLoader@5cad8086 |
+------------------+---------------------------------------------------------------+
| fields | modifier : private |
| | type : int |
| | name : addressId |
| | |
| | modifier : private |
| | type : java.lang.String |
| | name : addressName |
| | |
| | modifier : private |
| | type : double |
| | name : avg |
+------------------+---------------------------------------------------------------+
Affect(row-cnt:1) cost in 6 ms.