我必须将日语命令行参数传递给Java main方法.如果我在命令行窗口中键入Unicode字符,它会显示"?????" 这没关系,但传递给java程序的值也是'?????'.如何获取命令窗口传递的参数的正确值?下面是示例程序,它将命令行参数提供的值写入文件.
public static void main(String[] args) {
String input = args[0];
try {
String filePath = "C:/Temp/abc.txt";
File file = new File(filePath);
OutputStream out = new FileOutputStream(file);
byte buf[] = new byte[1024];
int len;
InputStream is = new ByteArrayInputStream(input.getBytes());
while ((len = is.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为我的项目评估规则引擎.该项目将基于hadoop.我使用DROOLS完成了一些POC.基本上我在Mapper端使用DROOL.基于以下是我的观察和查询.
1)a)我使用DROOLS(需要大约17秒)对3百万个对象发出规则b)我使用if/else循环应用相同的逻辑,如同DRL文件中的3百万个对象,没有drools,使用简单的Java对象(带走.17秒).b约为 比a快100倍.这是正常的行为吗?有没有办法将规则编译为java字节码/类.
2)除了DROOLS之外,什么是最快的基于Java的规则引擎框架.是否有人使用普通GROOVY开发了规则引擎.任何其他框架建议,将业务规则编译为java字节代码,这将导致更快的规则评估?
3)有人对hadoop最适合的DSL/Rule框架有一些经验.