タグ

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

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

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

    Rhinoの最適化レベル毎の違いを正確に理解する - R42日記
  • Eclipse3.5のコンパイラに致命的なバグ有り

    昔も書いたが、EclipseのJavaコンパイラとJDKのjavaコンパイラは別物。 昨日、原因究明に到るまで半日要したのだが、 Eclipse3.5のJavaコンパイラ(ecj)に致命的なバグがあることを発見した。 簡単に説明すると、 『非publicな親クラスから引き継いだpublicメンバーを、異なるパッケージにおいて子クラス経由でリフレクションで呼び出すとエラーになる』 というもの。まあコードを見たほうが早いので、下のコードを見るべし。 サンプルコード NonPublicParent.java package foo; class NonPublicParent { public void aMethod() { System.out.println("method1"); } } PublicChild.java package foo; public class PublicC

    Eclipse3.5のコンパイラに致命的なバグ有り
  • 1