2014年3月22日土曜日

Nashorn(Java 8のJavaScriptエンジン)の実力

Java 8 になって、JREに含まれるJavaScriptエンジンがRhinoからNashornに変わりました。
public class Inspector {
    public static void main(String[] args) {
        ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");
        System.out.println("engine = " + engine);
    }
}
>engine = jdk.nashorn.api.scripting.NashornScriptEngine@548ad73b

速くなったのかなー。ということで、RhinoとNashhornの実行速度を比較してみます。
コードはこんなシンプルなものです。

public class Inspector {
    public static void main(String[] args) throws ScriptException {
        ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");
        System.out.println("engine = " + engine);
        long startTime = System.currentTimeMillis();
        engine.eval("var count = 0;for(var i=0;i<100000;i++){count += i}");
        System.out.println("finish "+(System.currentTimeMillis() - startTime));
    }
}

Rhinoで実行すると、
engine = com.sun.script.javascript.RhinoScriptEngine@4fb3c3d9
finish 367

Nashoneで実行すると、
engine = jdk.nashorn.api.scripting.NashornScriptEngine@548ad73b
finish 117

Nashoneはやーい。

2014年3月8日土曜日

EclipseにWildFlyを設定する。

WildFlyってご存じですか?Java EE準拠のアプリケーションサーバです。GlassFishがこんな状況なので、移行先としていいかも。

本記事ではEclipse Kepler に WildFly 8.0を設定する方法を記載します。

EclipseはJ2EEが入ったものを用意します。WildFly 8.0はこちらからダウンロードして解凍しておきます。

「環境設定」 → 「Server」 → 「Runtime」 で「Add」を選択します。

「Download additional server adaptors」を選択します。

「JBossAS Tools」を選択し「Finish」を押します。表示されるまで少し時間がかかります。

再起動後、もう一度、「環境設定」 → 「Server」 → 「Runtime」を選択すると、「JBoss Community」> 「WildFly 8.0 Runtime (Experimental)」を選択します。

あとは、解凍したWildFlyを設定するのみで、EclipseとWidlFlyの設定完了です。Webアプリケーションを右クリック→Run As → Run on Serverなどで使えるようになります。

起動も早くていい感じ。Java EE 7をお探しの方はぜひお試しあれ。