【发布时间】:2009-07-19 16:54:36
【问题描述】:
是否可以在 Java 中实现多线程类加载器?在元驱动框架中,我需要提前加载数百个类,即,不像系统类加载器那样懒惰。为了加速这一点,我想更好地利用当前的多核 CPU。在我深入探讨之前,如果有人在这个问题上已经有一些经验,或者可能完全清楚 defineClass() 可能是这种情况下的瓶颈,我会很感兴趣。
谢谢 安德烈
【问题讨论】:
标签: java multithreading classloader
是否可以在 Java 中实现多线程类加载器?在元驱动框架中,我需要提前加载数百个类,即,不像系统类加载器那样懒惰。为了加速这一点,我想更好地利用当前的多核 CPU。在我深入探讨之前,如果有人在这个问题上已经有一些经验,或者可能完全清楚 defineClass() 可能是这种情况下的瓶颈,我会很感兴趣。
谢谢 安德烈
【问题讨论】:
标签: java multithreading classloader
我相信目前你会遇到排他锁。在 JDK7 中,类加载器将能够将自己标记为具有并行能力。
与以往一样,我建议可能进行一些粗略的计算,然后吸一收。
【讨论】:
让一个或多个线程在后台加载一个需要预加载所有类的类并没有错。用 Executor 和 Callables 做一个原型,这样你就可以用 jvisualvm 获得一些分析信息。
【讨论】: