【发布时间】:2021-05-07 05:08:28
【问题描述】:
我正在尝试动态加载大约 10,000 个类,并且代码如下所示:
Class<?> c = getClass().getClassLoader().loadClass(className);
Constructor<?> constr = c.getConstructor(String.class);
constr.newInstance(myString);
在分析时,我注意到大部分时间都花在了 getConstructor 调用上,这似乎平均花费了大约 15 毫秒,显然乘以 10k 加起来。
关于编写此代码以加快 Java 反射速度的任何建议?
附言不幸的是,这些类必须动态加载(否则我根本不会使用反射)
【问题讨论】:
-
你可以试试 MethodHandles。
标签: java performance class reflection getconstructor