Java で書かれたバイトコードを読み取るライブラリがたくさんあることは知っています。Javascript で実装されているバイト コード ライブラリを知っている人はいますか?
3 に答える
アップデート:
以下にリンクしようとした日本のプロジェクトは、とうの昔になくなったようです。いずれにせよ、時が経ち、Google で "jvm in javascript" がいくつかヒットしました。すなわち:
私が見つけたものを見てください:
http://ejohn.org/blog/running-java-in-javascript/
これは役に立ちますか?
編集:残念ながら、元のプロジェクトのサイトは死んでいるようです。こちら
の Web アーカイブを試してみてください(日本語で、Google 翻訳しようとしましたが、あまりにも間接的だったと思います :))
善のために、そのリンクをたどる場合は、ウイルス対策を介してダウンロードを実行してください.
信頼できるかどうかはわかりません。
通常、JavaScript はブラウザ内で実行されるため、通常、ファイルから実際のバイトを読み取ることはできず、Java バイトの読み取りには理想的とは言えません。JavaScript が読み取れる形式でエンコードされたバイト コードを何らかの方法で取得した場合、ライブラリはそれをどう処理することを期待しますか? あなたがやろうとしていることの詳細を教えていただけますか?
Java でコードを記述し、それをブラウザー内で実行できるようにしたい場合は、GWTをご覧ください。Java を使用して、バイトコードを最適化された JavaScript に再コンパイルします。
編集
追加されたコメントに基づいて、「ローカル ディスクの jar ファイルで使用されているクラスとメソッドを見つけたい」と考えています。
JavaScript は (少なくとも ActiveX を使用しないと) ローカル ディスク上のファイルにアクセスできないため、この技術ではこのようなことは許可されません。これにJavaではなくJavaScriptを使用したい理由はありますか?
そして、私があなたの動機を疑っているように聞こえた場合は、お詫び申し上げます. あなたの質問に適切に答えることができるように、私は本当に十分な情報を得たかっただけです.
JavaをJavaScriptにコンパイルできるコンパイラがあります。最後の手段として、これらのコンパイラの1つを使用して、Javaで記述されたJVMLバイトコード逆アセンブラを取得し、JavaScriptにコンパイルできます。このようなコンパイラの1つの例はGWTです。
同様に、JVMLバイトコードをJavaScriptにコンパイルできるコンパイラがあります。ここでも、Javaで記述された上記のJVMLバイトコード逆アセンブラの1つを使用し、 JavaからJVMLへのコンパイラ(、、、、javac
… )を使用してJVML(つまりファイル)にコンパイルしてから、それらのファイルをJavaScriptにコンパイルできます。ecj
gcj
.class
.class