タグ付けされた質問 「bytecode」

10
Javaで2 *(i * i)が2 * i * iより速いのはなぜですか?
次のJavaプログラムの実行には、平均で0.50秒から0.55秒かかります。 public static void main(String[] args) { long startTime = System.nanoTime(); int n = 0; for (int i = 0; i < 1000000000; i++) { n += 2 * (i * i); } System.out.println((double) (System.nanoTime() - startTime) / 1000000000 + " s"); System.out.println("n = " + n); } で置き換える2 * …

13
PHPコードを「コンパイル」して、バイナリコードのファイルをアップロードできますか。これは、バイトコードインタープリターによって実行されます。
PHPはサーバーで実行される前にバイトコードにコンパイルされ、そのバイトコードをキャッシュできるので、すべてのWebアクセスでスクリプト全体を再解釈する必要がありません。 しかし、PHPコードを「コンパイル」して、バイナリコードのファイルをアップロードできます。これは、バイトコードインタープリターによって実行されます。
224 php  bytecode 

4
なぜJavaクラスは空白行で異なるコンパイルをするのですか?
次のJavaクラスがあります public class HelloWorld { public static void main(String []args) { } } このファイルをコンパイルし、結果のクラスファイルでsha256を実行すると、 9c8d09e27ea78319ddb85fcf4f8085aa7762b0ab36dc5ba5fd000dccb63960ff HelloWorld.class 次に、クラスを変更して、次のような空白行を追加しました。 public class HelloWorld { public static void main(String []args) { } } 繰り返しますが、同じ結果が得られることを期待して出力でsha256を実行しましたが、代わりに 11f7ad3ad03eb9e0bb7bfa3b97bbe0f17d31194d8d92cc683cfbd7852e2d189f HelloWorld.class このTutorialsPointの記事を読みました: おそらくコメントが付いている空白のみを含む行は空白行と呼ばれ、Javaはそれを完全に無視します。 だから私の質問は、Javaが空白行を無視するので、コンパイルされたバイトコードが両方のプログラムで異なるのはなぜですか? つまりにおけるものの違いバイトが置き換えられているバイト。HelloWorld.class0x030x04

8
AndroidでのJava 7言語機能
誰かがAndroidで新しいJava 7言語機能を使ってみたかどうか疑問に思っていますか?Androidは、Javaが吐き出すバイトコードを読み取ってdexに変換することを知っています。だから私の質問はそれがJava 7のバイトコードを理解できるのでしょうか?
188 java  android  bytecode  java-7 

9
Java言語で利用できないバイトコード機能
現在、Java言語で実行できないJavaバイトコードで実行できる(Java 6)ことはありますか? 私は両方ともチューリング完全であることを知っているので、「できる」を「大幅に速く/より良くできる、または別の方法でできる」と読みます。 のような追加のバイトコードを考えinvokedynamicています。Javaを使用して生成することはできませんが、特定のバイトコードは将来のバージョン用です。
146 java  jvm  bytecode 

5
Javaの仮想マシンとCLR
MSILとJavaバイトコードの違いと呼ばれる質問への一種のフォローアップとして?、Java Virtual Machineの動作方法とJava Virtual Machineの動作方法の(主な)相違点または類似点。ネットフレームワーク 共通言語ランタイム(CLR)は機能しますか? また、 。ネットフレームワーク CLRは「仮想マシン」ですか、それとも仮想マシンの属性を持っていませんか?

5
.emacs.dディレクトリのすべてをバイトコンパイルするにはどうすればよいですか?
私はEmacsをチェックすることにしましたが、とても気に入りました。今、私はEmacsスターターキットを使用しています。 少しカスタマイズして、yasnippet、color-themes、unboundなどの要素を追加しました。すべてのカスタマイズを保持するgithubリポジトリをセットアップしました。これにより、複数の場所からカスタマイズにアクセスできるようになり、何かがうまくいかず、.emacs.dディレクトリが失われた場合に備えています。 これらはすべて非常に優れていますが、問題があります。Emacsのロードに約1〜2秒かかります。私の知る限り、Mx byte-compile-fileを使用して個々の.elファイルを.elcにコンパイルできます。しかし、多くの.elファイルがあり、Emacsのロードを高速化するために、単純なコマンドなどでそれらをすべてコンパイルする方法はあるのでしょうか。私のEmacsは常に開いているわけではなく、頻繁に開いたり閉じたりします。特に、Total Commanderの編集コマンドのデフォルトエディターとしてセットアップしてから、慣れるのが速くなりました(ええ、windows XPはこちら)。 私のEmacsバージョンは22.3です。そして、はい、カスタマイズのないデフォルトのEmacsインストールは即座に起動します。 .elまたはコンパイルされた.elcをロードするときにどちらのバージョンが好ましいかわかりません それで、Emacsが.emacs.dディレクトリのすべてをバイトコンパイルするようにするelispコマンドまたはEmacsコマンドラインスイッチはありますか?

3
Scalaのパターンマッチングはバイトコードレベルでどのように実装されますか?
Scalaのパターンマッチングはバイトコードレベルでどのように実装されますか? それは一連のif (x instanceof Foo)構成要素のようなものですか、それとも何か他のものですか?そのパフォーマンスへの影響は何ですか? たとえば、次のコード(Scala By Exampleページ46〜48から)を指定すると、evalメソッドの同等のJavaコードはどのようになりますか? abstract class Expr case class Number(n: Int) extends Expr case class Sum(e1: Expr, e2: Expr) extends Expr def eval(e: Expr): Int = e match { case Number(x) => x case Sum(l, r) => eval(l) + eval(r) } PS私はJavaバイトコードを読み取ることができるので、バイトコード表現で十分ですが、おそらく他の読者がJavaコードとしてどのように見えるかを知っている方が良いでしょう。 PPS 『Scalaでのプログラミング』という本は、Scalaの実装方法に関するこの質問および同様の質問に対する回答を提供していますか?その本を注文しましたが、まだ到着していません。

30
C ++パフォーマンスとJava / C#
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 私の理解では、C / C ++は特定のマシンアーキテクチャで実行するネイティブコードを生成します。逆に、JavaやC#などの言語は、ネイティブアーキテクチャを抽象化する仮想マシン上で実行されます。この中間ステップのため、JavaまたはC#がC ++の速度に一致することは論理的に不可能であるように見えますが、最新のコンパイラー(「ホットスポット」)はこの速度に達するか、それを超えることさえあると言われています。 おそらく、これは言語の問題よりもコンパイラの問題のほうが多いですが、これらの仮想マシン言語の1つがネイティブ言語よりも優れたパフォーマンスを発揮する方法を誰でも簡単に英語で説明できますか?
119 c#  java  c++  performance  bytecode 



19
CIL nopオペコードの目的は何ですか?
私はMSILを調べていますが、MSILには多くのnop命令があることに気づきました。 MSDNの記事によると、これらはアクションを実行せず、オペコードにパッチが適用されている場合はスペースを埋めるために使用されます。これらは、リリースビルドよりもデバッグビルドで多く使用されます。 これらの種類のステートメントがアセンブリ言語で使用されて後の命令を調整することは知っていますが、MSILでMSIL nopが必要なのはなぜですか? (編集者注:受け入れられた回答は、質問が最初に尋ねたMSIL / CIL NOPではなく、マシンコードNOPに関するものです。)
82 assembly  bytecode  cil 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.