Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
|
Re: Delphi mit Java komunizieren
27. Jul 2006, 10:42
In Java gibt es eigentlich nur 3 wirklich wichtige Dateitypen.
Der Quellcode wird in .java Dateien abgelegt. Mittels javac können diese dann in .class Dateien Übersetzt werden.
Eine .class Datei besteht aus einem Objektcode. Dieser ist auf einer Virtuellen Maschine (JVM) Lauffähig. Die .class Dateien enthalten nur den übersetzten Code und lassen damit keinen Rückschluß auf die eigentlichen Sourcen zu. Wichtig ist hier die Technik der JVM. Code wird immer so gelinkt, dass er von einer bestimmten Plattform ausgeführt werden kann. In diesem Fall gibt es halt eine virtuelle Plattform. .exe Dateien laufen halt unter einem bestimmten Windows. Bei 32-bit exen auf einem Win 3.0 dürftest du aber schon Probleme haben. Linux, Solaris, AIX, ... wüßten aber gar nichts mit einer solchen Datei anzufangen.
Bei Java ist die Plattform genauso festgelegt, aber virtuell. Hast du eine JVM für deine eigentliche Zielplattform (z.B. Windows X, MacOS Y, ...) dann kannst du auf dieser den Objektcode ausführen.
Die letzte wichtige Datei ist dann noch die .jar. Hierbei handelt es sich eigentlich nur um ein Archiv. Ein Projekt wird schnell größer als ein zwei Dateien. Zudem verwendest du sicherlich früher oder später Klassen, die du für ein anderes Projekt geschrieben hast. Um hier eine einzelne Datei weiterreichen zu können, hat man sich (sinnvoller Weise) für eine Archiv entschieden. Dieses kann in Java transparent eingebunden werden (die Struktur der .jar wird dann nicht von der entpackten auf deiner Platte unterschieden). Ein jar ist glaube ich in erster Linie wirklich an ein .tar angelehnt, es nimmt erstmal nur Dateien auf. Es gibt jedoch noch weitere Optionen. Die eine wichtige ist, dass du die Dateien mit einem zip Algorithmus packen lassen kannst (unterstütz jar aus deinem JDK). Die andere wichtige Option ist, dass du ein Manifest angeben kannst. Unteranderem kann in dieser Datei der Classpath gesetzt werden und wichtiger, du kannst eine zu startende Datei angeben. Startest du dann dein Programm mittels javaw -jar DeinJar.jar oder java -jar DeinJar.jar, so wird automatisch diese .class Datei ausgeführt.
Um deine Frage zu beantworten, in Java werden ausführbar eigentlich nur .class Dateien erzeugt. Da eine .jar einfach transparent eingebunden werden kann, gibt es zwar startbare Archive, aber für die JVM ist es auch nur das starten einer .class in einem bestimmten Pfad.
Zu der anderen Frage komme ich gleich (muss mir mal das Beispiel anschauen)
|