- 授权协议: GPLv3
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: http://gitee.com/iproject/MyTools2
- 软件文档: http://gitee.com/iproject/MyTools2
软件介绍
该 jar 包对 java 调用 Groovy 、JavaScript、Clojure 脚本语言的接口进行封装,方便在java程序中进行多语言混合编程
在jar中增加对URLClassLoader类进行继承重写实现动态加载和拆卸jar,使用Message类进行jar插件间的解耦调用。
包管理工具采用 Gradle 进行管理
MyTools工具类旧版本git地址 : https://gitee.com/iproject/MyTools.git
MyTools工具类最新版本git地址:https://gitee.com/iproject/MyTools2.git
使用示例:
@Test
public void testJava() throws Exception {
JavaHepler jh = new JavaHepler();
//jh.putPath("Test", "test.Test");
//IMethod d = jh.newInstance("Test");
//or
IMethod d = jh.newInstance("test.Test");
IInvoke i = d.getMethod("p");
i.invoke();
i = d.getMethod("p2");
i.invoke("MyTools");
}
//@Test
public void javaScript() {
long b = System.currentTimeMillis();
String[] s = new String[] { "test/test.js" };
JSHelper js = new JSHelper(s);
js.addField("ca").javaToJs(System.out);
System.out.println(js.getMethod("test").invoke());
js.exit();
long e = System.currentTimeMillis();
System.out.println("js :" + (e - b));
}
//@Test
public void groovy() throws Exception {
String file = "test/Test.groovy";
long b = System.currentTimeMillis();
GroovyHelper gh = new GroovyHelper();
//gh.putPath("Test", file);
//gh.newInstance("Test").getMethod("t").invoke();
//or
gh.newInstance(file).getMethod("t").invoke();
long e = System.currentTimeMillis();
System.out.println("Groovy :" + (e - b));
}
//@Test
public void clojure() throws Exception {
String file = "test/test_t.clj";
long b = System.currentTimeMillis();
ClojureHelper cl = new ClojureHelper();
//cl.putPath("test", file);
//IMethod c = cl.newInstance("test");
//or
IMethod c = cl.newInstance(file);
IInvoke i = c.getMethod("t3");
System.out.println(i.invoke(4));
long e = System.currentTimeMillis();
System.out.println("clojure :" + (e - b));
}
//@Test
public void jython() throws Exception {
String file = "test/Test.py";
long b = System.currentTimeMillis();
JythonHelper jy = new JythonHelper();
//jy.putPath("Test", file);
//jy.newInstance("Test").getMethod("t").invoke();
//or
jy.newInstance(file).getMethod("t").invoke();
long e = System.currentTimeMillis();
System.out.println("jython :" + (e - b));
}
//@Test
public void jruby() throws Exception {
String file = "test/Rr.rb";
long b = System.currentTimeMillis();
JRubyHelper jr = new JRubyHelper();
//jr.putPath("Rr", file);
//Object obj = jr.newInstance("Rr").getMethod("c2f").invoke(100);
//or
Object obj = jr.newInstance(file).getMethod("c2f").invoke(100);
System.out.println(obj);
long e = System.currentTimeMillis();
System.out.println("jruby :" + (e - b));
}
//@Test
public void beanShell() throws EvalError, IOException{
long b = System.currentTimeMillis();
BeanShellHelper bsh = new BeanShellHelper();
bsh.getFied("a").set("Hello World");
bsh.load("test/test.bsh");
System.out.println(bsh.getFied("b").get());
long e = System.currentTimeMillis();
System.out.println("jruby :" + (e - b));
}
增加对beanShell调用的支持
An Introduction to Probability Theory and Its Applications
William Feller / Wiley / 1991-1-1 / USD 120.00
Major changes in this edition include the substitution of probabilistic arguments for combinatorial artifices, and the addition of new sections on branching processes, Markov chains, and the De Moivre......一起来看看 《An Introduction to Probability Theory and Its Applications》 这本书的介绍吧!
