2010-12-15 9 views
1

Ich weiß, dass es viele Bibliotheken gibt, die Bytecodes lesen, die in Java geschrieben sind. Kennt jemand eine Byte-Code-Bibliothek, die in Javascript implementiert ist?Gibt es einen Java-Bytecodeleser, der in Javascript implementiert ist?

+2

Was möchten Sie damit machen? Lesen Sie die Byte-Codes und löschen Sie sie aus? Analysiere sie? – Pointy

+1

Ermitteln Sie die Klassen und Methoden, die in einer JAR-Datei auf meiner lokalen Festplatte verwendet werden ... – vkraemer

+1

+1 für das Stellen einer vollkommen gültigen Frage, mit der sich niemand zu beschäftigen scheint, ohne Ihre Motive zu hinterfragen. – z5h

Antwort

0

Da Javascript normalerweise in einem Browser ausgeführt wird, kann es im Allgemeinen die tatsächlichen Bytes nicht aus Dateien lesen, was es für das Lesen von Java-Bytes weniger als ideal macht. Wenn Sie die Byte-Codes irgendwie in einer Form kodierten, die das Javascript lesen konnte, was würden Sie von der Bibliothek erwarten? Kannst du mehr Details zu deinem Vorhaben angeben?

Wenn Sie Code in Java schreiben und in einem Browser ausführen lassen möchten, werfen Sie einen Blick auf GWT. Es verwendet Java, um Ihren Byte-Code in optimiertes Javascript neu zu kompilieren.

bearbeiten

Basierend auf Ihren zusätzlichen Kommentar, dass Sie hoffen, „die Klassen und Methoden in einer JAR-Datei auf meinem lokalen Festplatte verwendet, herauszufinden“:

Da Javascript ist nicht in der Lage, den Zugang Dateien auf einer lokalen Festplatte (zumindest ohne ActiveX), wird die Technologie einfach nicht für solche Dinge zulassen. Gibt es einen Grund, warum Sie Javascript anstelle von Java verwenden wollten?

Und bitte akzeptieren Sie meine Entschuldigung, wenn es klang, als ob ich Ihre Motive in Frage stellte. Ich wollte wirklich nur genügend Informationen bekommen, um deine Frage angemessen beantworten zu können.

+0

Würde sich der Downvoter darum kümmern, seinen Einwand gegen diese Antwort zu erklären? – StriplingWarrior

+0

Ich war nicht derjenige, der die Version heruntergab, aber ich möchte nur sagen, dass es perfekt möglich ist, JavaScript außerhalb des Kontexts eines Browsers auszuführen und Zugriff auf Dateien auf einer Festplatte zu haben. – Zecc

+0

Ich habe abgelehnt, weil das, was Sie zu der Zeit eingegeben hatten, kein Anwärter auf die sehr klare Frage war, die der OP gepostet hatte. Ihre Fragen gehören in den Kommentarbereich. Ihre Aussage zu JavaScript in Browsern ist veraltet und irreführend. Javascript benötigt keinen Browser (siehe v8, node.js, Rhino, etc). Ich habe es vielleicht gehen lassen, aber du hast 5000+ Punkte und ich habe mehr von einem Mitglied deines Kalibers erwartet. – z5h

0

Es gibt Compiler, die Java in JavaScript kompilieren können. Als letzten Ausweg können Sie einen dieser Compiler verwenden, um einen in Java geschriebenen JVML-Bytecode-Disassembler in JavaScript zu kompilieren. Ein Beispiel für einen solchen Compiler ist GWT.

In ähnlicher Weise gibt es Compiler, die JVML-Bytecode zu JavaScript kompilieren können. Auch hier können Sie eine der oben JVML Bytecode Disassembler nehmen in Java geschrieben, verwenden jede Java-to-JVML Compiler (javac, ecj, gcj, & hellip;) es JVML zu kompilieren (dh .class-Dateien), dann die kompilieren .class Dateien in JavaScript.

1

Update:

Es sieht aus wie das japanische Projekt, das ich bis unten zu verbinden versucht, ist längst vorbei. In jedem Fall ist die Zeit vergangen und jetzt gibt es ein paar Hits für "jvm in Javascript" bei Google. Nämlich:


Schau mal, was ich gefunden habe:
http://ejohn.org/blog/running-java-in-javascript/

Does diese Hilfe?

Bearbeiten: Leider sieht es so aus, als ob die ursprüngliche Projektseite tot ist.
Sie über das Web könnte versuchen, Archive, here (Japanisch, versuchte zu Google es zu übersetzen, aber ich denke, es ist zu viel indirection war :))

Um Gottes Willen, wenn Sie auf diesen Link folgen, führen Sie Ihren Download durch ein Antivirus.
Ich weiß nicht, ob es vertrauenswürdig ist.