GroovyClassloader行为理解,
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("groovy");
GroovyScriptEngineImpl groovyEngineImpl = (GroovyScriptEngineImpl) engine;在一个循环中,
for (int i = 0; i < 10; i++) {
long startTime = System.currentTimeMillis();
classLoader = new GroovyClassLoader(groovyEngineImpl.getClassLoader().getParent());
fileName = fileName + i;
Class groovyClass = classLoader.parseClass(s,fileName);
long endTime = System.currentTimeMillis();
System.out.println("Total elapsed time in execution o " + (endTime-startTime));
startTime = System.currentTimeMillis();
groovyClass = classLoader.parseClass(s,fileName);
endTime = System.currentTimeMillis();
System.out.println("Second Time Total elapsed time in execution o " + (endTime-startTime));
}关于上述代码,我有几个问题:
for循环中的
发布于 2012-02-03 14:40:36
s的类型。如果它是一个文件,它将检查它是否需要重新编译,如果不是,它将使用相同的类。如果它是一个again或什么的,那么它将不得不从is字符串String重新编译这个类。
https://stackoverflow.com/questions/9130004
复制相似问题