如何确定Java应用程序加载/未使用的类(非Sun JDK类)?
背景: 我有一个 legacy Java WebScript应用程序已经经历了很多代码更改,现在有很多类,其中大部分没有使用。我想通过只部署将只使用的类而不是jaring所有包来减少应用程序的下载大小。
legacy
我还将使用相同的过程来完全删除这些未使用的类。
使用 java -verbose:class 要查看加载了哪些类,请使用grep(或任何其他工具)只保留包中的行。
java -verbose:class
一个小的限制:它只会告诉你哪些类是真正被使用的。 什么时候? 它们是被使用的,所以您必须覆盖应用程序的所有用例。
你可以用一个好的IDE来实现。
例如 Intellij IDEA 它分析源代码的依赖性,并允许您 safely delete 类/方法/属性未被任何其他人使用。
这样你就可以去掉所有死代码。