gpt4 book ai didi

java - 如何通过Java中的Reflection API加速类扫描?

转载 作者:行者123 更新时间:2023-11-30 03:25:07 26 4
gpt4 key购买 nike

我使用org.reflections库来扫描ClassPath并获取类。这是我的代码:

Reflections ref = new Reflections();
Set<Class<? extends Service>> classes = new HashSet<>();
for (Class<? extends Service> subType : ref.getSubTypesOf(Service.class)) {
if (!Modifier.isAbstract(subType.getModifiers())) {
classes.add(subType);
}
}

但是我遇到了一个问题。这需要太多时间。同时我无法设置包

new Reflections("my.pack");

因为我想保留将来添加服务类的能力。我怎样才能加速这个过程?是否可以排除 rt.jar 包?

最佳答案

使用FilterBuilder至少排除 java 根包。

指定 SubTypesScanner 可能会有所帮助因为这就是你正在做的事情。

Reflections ref = new Reflections(new SubTypesScanner(),
new FilterBuilder().excludePackage("java"));

关于java - 如何通过Java中的Reflection API加速类扫描?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30439737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com