問題タブ [jvm-languages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
628 参照

java - JVM 用の .class ファイルの生成

私は、後でJVMでコンパイルできるJava ".class"ファイルを外出先で生成する必要があるプロジェクトに取り組んでいます。スタックベースの中間プログラミング言語でもある MSIL (Microsoft IL) を学習して使用した後、次のような問題に直面しています。

  1. IL(C#またはVB用)と比較して、「.class」ファイルのJavaバイトコードには構造化された方法で情報が含まれており、ファイルを理解できる限り、プログラムデータとは別にメタデータが含まれています。本当ですか? ? すべてのクラス ファイルのテンプレート フォームで同じものを生成できますか??
  2. クラスファイルをバイナリで生成することは必須ですか??

「 Joshua Engel による Java™ 仮想マシンのプログラミング 」を参照しましたが、JVm 命令セットについては既に学習しているため、私の目的には役立っていません。

誰でもこれで私を助けてもらえますか?? すべてのヘルプは高く評価されます。単一の 1 をまだ見つけることができなかったので、単純なクラス ファイルを生成する例は非常に役立ちます。

0 投票する
3 に答える
1066 参照

apache-flex - 「ActionScript を使用せずに flex を記述する」、「Java から AVM2 コンパイラへ」、または「Java を使用して Flex を記述する」ことを許可するものはありますか?

Sun の JVM (Groovy、Scala、Jython、Jruby など) を対象とする動的言語は多数あり、Adobe の AVM を対象とするものもたくさんあると確信していました。しかし、Haxe だけが似たようなことをしていることに驚きました。このサイトの関連する質問

eclipse e4 SWT プロジェクトは ABC (ActionScript Byte Code) に直接コンパイルするのではなく、最初に Java を AS3 に変換し、次に Flex コンパイラーが残りを行うと思います。

プロプライエタリな Adob​​e Flash Builder (以前の Flex Builder) の代替として使用できる単純な Java / Python / Scala AVM2 コンパイラをまだ誰も作成していないのでしょうか?

Adobe にすばらしい製品を提供してもらってもかまいませんが、Eclipse で Java を作成することは、生半可な Adob​​e プラグイン スイートよりもはるかに高速で説得力があります。Haxe以外の努力は本当にありませんか?

0 投票する
9 に答える
799 参照

java - Java 開発者が追加の JVM 言語を学ぶ必要があるのはなぜですか?

私は Java 開発者ですが、Scala や Groovy などの言語を学ぶことの主なメリットは何ですか?

0 投票する
2 に答える
932 参照

javascript - SWIGとJavascript:JVM /RhinoをC++アプリに埋め込むことがまだ唯一の解決策ですか?

SWIGのように自動バインディング生成のアイデアが本当に好きです。しかし、それでもJavascriptバインディングが不足しています。各関数にパラメーターとして渡す必要があるJSコンテキストのため、Spidermonkeyでは実行できないことを読みました。

私が見つけた唯一の解決策は、JVMをC ++アプリケーションに埋め込み、SWIGを使用してJavaへのバインディングを生成し、JSインタープリターとしてRhinoエンジンを使用することです。それはうまく機能しますが、それは本当に重いです!

他のアイデアはありますか?

注:はい、わかっています。代わりにPythonまたはLuaを使用できます。しかし、私の質問は本当にJSについてです。

0 投票する
3 に答える
1564 参照

scala - JVM で実行するために Scala が行った妥協点は?

Scala は素晴らしい言語ですが、独自のランタイムがあればどのように改善できるのでしょうか?
つまり、JVM の選択により、どのような設計上の選択が行われたのでしょうか?

0 投票する
2 に答える
1753 参照

java - JVMからのPOSIXシグナルの送信

JVM内からPOSIXシグナルを送信するにはどうすればよいですか?(JavaまたはClojureの場合)

グーグルで試してみるまで、これが問題になるとは思っていませんでした。信号の処理に関する情報はたくさんありますが、信号の送信については何もありません。

JNIを使​​用するか、シェルを呼び出して「kill」を実行する以外に、PIDにシグナルを送信する他の方法はありますか?

0 投票する
1 に答える
917 参照

java - JVMはジェネリックを処理するように拡張されますか?

どう思いますか?JVMはジェネリックスのサポートを取得しますか?

JVMだけでなく、クラスファイル形式にも大幅な変更が必要になる可能性が非常に高いですが、VMで実行されている言語はJVMから大きな恩恵を受けるでしょう。

編集: Java言語は、実際にはコンパイル時の機能としてある種のジェネリックスをサポートしています。これにより、バイトコードにキャストが追加されます。これは、以前は手動で追加する必要がありました。

下位互換性を壊したくなく、Javaが最近のJVMの唯一の重要な言語であったため、JVMまたはクラスファイル仕様に変更を導入しないという決定は、これらの時点でよく理解されていました。

この決定はJava言語には適切だったかもしれませんが、他の言語がVMにジェネリックを実装する方法を選択する自由の量を大幅に減らしました。

Sun / OracleがJVMを代替言語にとってより親しみやすい場所にすることを宣言したことを考えると、彼らは実際に約束したことを実行するのでしょうか、それとも「InvokeDynamic」の低コストの追加で十分だと考えるのでしょうか。

0 投票する
2 に答える
3617 参照

java - JavaSEプラットフォームでのXML解析APIの比較

私は現在RSSフィードリーダーを開発していますが、どのXML解析APIがそれに最適か疑問に思っています。(私はフィードパーサーライブラリを探していないことに注意してください-それはXML APIに関するその研究の出発点にすぎません)

次の基準に焦点を当てて、Javaプラットフォーム上のさまざまなXML解析APIの概要を探しています。

  • 設定のしやすさ
    • 構成は別のファイルにありますか?
    • 合理的なデフォルトはありますか?
  • 使いやすさ
    • ノードナビゲーション-兄弟、子、親へ。
    • 名前空間、属性、テキストへのアクセス/操作。
    • クラス階層はよく考えられていますか、それとも自然ですか?
  • 無効なXML-何が起こりますか(いつ失敗しますか?)、そして次の場合に何ができますか?
    • 無効な文字が検出されました(エンコーディングまたはXML仕様のいずれかで禁止されています)
    • ツリー構造が無効です(たとえば、エスケープされていないHTMLタグのため)

重要ではありませんが、役立つと思われる情報を次に示します。

  • パフォーマンスの比較
  • 利用可能な実装のリスト

現在、JVMでXMLAPIを検討しています。

  • これは、Java標準(DOM、SAX、StAX、JAXP)、または実装固有のAPIにすることができます。
  • これは、JVM上の任意の言語(Scala、Groovy、Jython、JRuby ...)のAPIにすることができます。標準のJavaAPIと比較して何かを追加することを確認してください。

このスレッドを構成する良い方法は、回答ごとに1つのAPIのみを持つことだと思います。

0 投票する
2 に答える
1786 参照

groovy - なぜ JVM アプリに Rhino を使わないのでしょうか?

簡潔で動的な言語を使用して JVM 用のアプリを開発したいと考えています。このための最も一般的な選択肢は、Jython、JRuby、Groovy、そしておそらく Clojure のようです。

Rhino は高速で非常に安定しているように見えますが、Rhino の開発に関する本は見当たりませんし、議論もほとんどありません。埋め込みスクリプト以外で JavaScript がほとんど使用されていないのはなぜですか?

編集:この質問は、Rhino ベースの開発の実行可能性について有益であることがわかりました。

0 投票する
8 に答える
27357 参照

compiler-construction - JVMプログラミング言語の作成にアプローチする方法は?

ループ、関数内の関数宣言、再帰呼び出しなどをサポートする動的型付きプログラミング言語用のコンパイラをCで(Lex&Bisonを使用して)作成しました。また、コンパイラによって作成された中間コードを実行する仮想マシンも作成しました。

自分の中間コードではなく、Javaバイトコードにコンパイルすることを考えていました。

JVM言語の作成についての質問はすでに出されているのを見ましたが、その答えはあまり有益ではありません。

だからここに私の質問があります:

  1. JVM用の言語を作成するには、JVM仕様書を読む必要があると思いますが、他にどのような本を提案できますか(もちろんドラゴンブックを除く)。私は主に、一般的なコンパイラではなく、JVM言語を作成する方法に関する本やチュートリアルに関心があります。
  2. jclasslibbcelgnuバイトコード.classなどのファイルを読み書きおよび変更するための多くのJavaライブラリがあります。どれを提案しますか?また、同じ仕事をするCライブラリを知っていますか?
  3. Clojure、Jython、JRubyなどのJVMをターゲットとする別の言語を検討することを考えていました。しかし、これらの言語はすべて非常に高レベルで複雑です(それらのコンパイラーを作成するため)。私は、JVMを対象とし、オープンソースコンパイラを使用する、より単純な(不明であるか未使用であるかは関係ありません)プログラミング言語を探していました。何か案は?