タグ

ブックマーク / takahashikzn.root42.jp (2)

  • Rhinoの最適化レベル毎の違いを正確に理解する - R42日記

    ※Rhinoのバージョンは1.7R4です。 ウチの製品であるMOD99は、いくつかの箇所で式言語としてJavascriptを採用しています。 例えば帳票生成において、サーバーサイドで計算しなければならない導出値(代表例: 何らかの集約値)を出力したいときなど。 帳票をダウンロードさせる時に、セルの中にJSを書いておくと、サーバーサイドで実行された結果が入っていたりするような仕組みです。 まあ要するにサーバサイドJSということでございます。 で、いま開発しているシステムの帳票出力では、幾つかの項目でヘビーな集計を行なっており、JSの実行速度が問題になっておりました。 事実上オンラインバッチ相当の処理を、NoSQLっぽくJSで書いたりしているので、5分待ちとか。 いま、色々いじくって高速化しているところです。 さて、Java大好き人間の僕としては、JavascriptエンジンにはもちろんRhi

    Rhinoの最適化レベル毎の違いを正確に理解する - R42日記
  • 「Classオブジェクトを生成済み→staticイニシャライザを実行済み」ではない - R42日記

    まえがき 今日はJavaマニアックコースです。フツーのプログラムを書いている場合、こういう事は一切気にしなくて良いです。 というか、気にしないといけないようなプログラムを書いてはイカン。 今日のお題 さて、先程、こんなコードを書いたのです。 public enum Foo { ABC; static { System.out.println("Foo.static"); } } public class Main { public static void main(String... args) throws Exception { System.out.println(Foo.class); } } 僕は、この実行結果は Foo.static class Fooになると思っていたのです。ついうっかりと。 しかし実際は class Foo になってしまいます。つまりstaticイニシャライ

    「Classオブジェクトを生成済み→staticイニシャライザを実行済み」ではない - R42日記
    cnomiya
    cnomiya 2010/12/03
    「答えはココに」を参照→クラスまたはインタフェース(仮にTとする)は以下のどれかが発生しようとする直前で、直ちに初期化される。
  • 1