Hallo.class auf Unix?

paco89

Bekanntes Mitglied
hi,

ich hab folgende frage:

wenn ich die datei z.b. hallo.java kompiliere so erhalte ich doch meinen bytecode also meine class-Datei, nicht wahr?
hab folgende frage : Kann ich die Klasse Hallo.class von einem Windows-Rechner auf Unix kopieren und dort mit dem Interpreter java zur Ausführung bringen? Wenn nicht, was fehlt? Wenn ja: Was benötige ich dafür?


ich würde sagen, dass das schon geht, denn der bytecode ist doch unabhängig von der plattform, bzw. vom betriebsystem. wenn es nicht gehen würde, so weiß man dass die virtuelle maschine also die laufzeitumgebung fehlt. denn die virtuelle maschine übersetzt ja den bytecode in maschinencode.



ist das eine gute antwort auf diese frage, oder komplett falsch, was ich da getippt habe?
 

paco89

Bekanntes Mitglied
hi, ne andere frage:

wenn ich z.b. den ausdruck 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 - 1.0 berechnen lasse, wieso kommt da nicht exakt 0.0 raus?

hat das was mit IEEE zu tun ?
 
G

Gast2

Gast
Ja, siehe z.b.
Java:
for (double d = 0d; d <= 1; d += 0.1) {
    System.out.println(d);
}
Fließkommazahlen können intern nur mit endlicher genauigkeit gespeichert werden.
 
I

irgendjemand

Gast
@TO
so lange dein code plattformunabhängig geschrieben ist kannst ihn auf jeder VM der selben oder einer höheren version ausführen ... wichtig ist nur das sowohl compiler als auch runtime dem selben standard folgen müssen ... *spielt bei speziellen dingen mit reflections eine rolle*

es ist auch möglich code mit native-passagen "plattformunabhängig" zu gestalten ... man muss allerdings selbst innerhalb seines codes dafür sorgen *z.b. OS erkennen* und ggf benötigte libs mitliefern ... dann stellt auch sowas kein problem dar

allgemein gilt jedoch : wenn entsprechend programmiert ist java-code völlig unabhängig vom OS und der VM ... so lange alles einem gewissen standard folgt ...


was die ungenauigkeit bei floats angeht :
0.0f 0.0d mag für den rechner wohl noch irgendwie darstellbar sein ... eben weil alle bits 0 sind ...
aber schon 0.1f 0.1d kann auf den meisten systemen nicht mehr mit der genauigkeit dargestellt werden die benötigt wird um z.b. aus 0.1 + 0.1 = 0.2 zu erhalten ...
für einen menschen sieht 0.1 im dezimal system recht simpel aus : das zehntel von 1 ...
für einen rechner mit binär system ist das schon nicht mehr so einfach darzustellen da er die komplexe darstellung verwendet die dazu führt das der rechner dann z.b. 10 durch 100 rechnet *nur ein beispiel ! kann einfacher oder komplexer sein !* ... und da der rechner sowas immer mit multiplikation und division löst ... und auch FPUs eine maximale auflösung haben kommt es irgendwann zu ungenauigkeiten ...

*anspielung auf den FDIV-bug von intel*
 
I

irgendjemand

Gast
stichwort : just-in-time-compiler ...
die VM mit entsprechendem HotSpot-system macht zur runtime sehr wohl zum teil dierekten ASM für die cpu draus ...
 

fastjack

Top Contributor
Ja, wenn code mehrmals durchlaufen wird, wer definiert mehrmals? Ist JIT teil der Spezifikatioon einer VM?

[edit]Bist Du Dir sicher, das Java-JIT daraus direkt Maschinencode (also für den jeweiligen Prozessor Intel etc.) erzeugt und ausführt, also ich meine nicht einen optimierten Java-VM code? Wo kann man das nachlesen?[/edit]
 
Zuletzt bearbeitet:
M

maki

Gast
Der JIT/Hotspot kommt nicht immer zum Einsatz, erst wenn es "sich lohnt" und er aktiviert ist (-server Parameter macht einen riesigen Unterschied IME).
Wenn er zum Einsatz kommt, wird wirklich Maschinencode erzeugt.

Ansonsten sind Maschinencode und Assemblercode nicht dasselbe, Assembler ist eine low level Programmiersprache für Menschen, Maschinencode ist was die CPU selber frisst.
 
I

irgendjemand

Gast
das kein Assembler sondern entsprechend des JIT nativer cpu-code generiert wird ist mir auch klar ... hab nur ASM als kürzel verwendet da es für viele *wenn auch wie ihr schon gesagt habt* fälschlicher weise als "niedrigste" programmier-"sprache" angesehen wird ...

*imho : ich sehe es teilweise auch so da es einen unterschied macht ob ich jetzt direkt byte-werte im cpu-dialekt programmiere oder eine "sprache" habe in der ich "befehle" habe welche an sich immer gleich sind ... durch den assembler aber in unterschiedliche byte-folgen im cpu-dialekt übersetzt werden*

was die unterstützung von JIT angeht

selbst wenn man die -server option verwendet *welche unter anderem bei der 64-bit VM DEFAULT ist* gibt es in der arbeitsweise des JIT selbst nur wenig unterschied ...
ob man den JIT nun zwingt oder er es selbst macht *also byte-code in native-code zu übersetzen* ... ich denke das dieser unterschied vernachlässigbar ist ... und was genau JIT übersetzt *ob z.b. nur stellen die mehrmals durchlaufen werden *wie viele immer sagen* ... oder spezielle zeilen welche sich besonderst gut umwandeln lassen *z.b. increment-statements* ... ich denke da müsste man mal ganz tief in die spec's gucken um das wirklich rauszubekommen**

fakt ist : nur wenn man den JIT vollständig abschaltet *also die VM im reinen interpreter modus laufen lässt* wird KEIN code in native umgewandelt ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3
vapparadise hallo Java Basics - Anfänger-Themen 5
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
S Warum erscheint bei mir "Hallo Welt" und nicht die aktuelle Eingabe? Java Basics - Anfänger-Themen 16
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
S Hallo Welt Java Basics - Anfänger-Themen 11
G Umgebungsvariable Hallo Ich habe ein Problem mit der Umgv Java Basics - Anfänger-Themen 9
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
S Hallo und Fragen zu Arbeitsverzeichnis und Menü Java Basics - Anfänger-Themen 8
A Compiler-Fehler Hallo Welt Fehler Java Basics - Anfänger-Themen 5
J If textbox.text = "Hallo" then... Java Basics - Anfänger-Themen 6
N static package de.hallo; ??? Java Basics - Anfänger-Themen 4
K Hallo, probleme mit Jcreator Java Basics - Anfänger-Themen 4
K Hallo, woran liegt der Fehler ? Java Basics - Anfänger-Themen 6
K Hallo, Ich suche kleine Java Program-Aufgaben zum üben ? Java Basics - Anfänger-Themen 4
S Hallo, ich hab hier ein Buch Java Basics - Anfänger-Themen 11
5 hallo welt als .jar Java Basics - Anfänger-Themen 16
G Hallo Welt Java Basics - Anfänger-Themen 10
S JTextField.setText("hallo") wirft exception. Java Basics - Anfänger-Themen 3
S Blutiger Anfänger- "Hallo Welt" unter JBuilder Java Basics - Anfänger-Themen 5
T IntelliJ / SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". Java Basics - Anfänger-Themen 4
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
123456789sssssaaaa Java Wrapper Class Java Basics - Anfänger-Themen 13
FHEFHJHFJH error: class names, 'summe_bsp', are only accepted if annotation processing is explicitly requested Java Basics - Anfänger-Themen 3
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
J Methode als Class anlegen Java Basics - Anfänger-Themen 7
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
G Could not initialize class “NoClassDefFoundError" Java Basics - Anfänger-Themen 2
Mr_Kleeblatt Operatoren if (arri[i] != "test.java"&& arri[i] != "test.class") Java Basics - Anfänger-Themen 3
S Generics-Problem: Class, Class<?>, Class<Object> Java Basics - Anfänger-Themen 4
J Klassen .class Datei öffnen Java Basics - Anfänger-Themen 31
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
O Verständniss Problem bei abstract class Java Basics - Anfänger-Themen 7
H .class Datei wird nicht ausgeführt Java Basics - Anfänger-Themen 2
H .jar unterschied .class Java Basics - Anfänger-Themen 3
J class version 52 und 56 Java Basics - Anfänger-Themen 6
L Fehler bei der AUsführung der .class Datei Java Basics - Anfänger-Themen 23
A Class not found - Jar liegt am classpath Java Basics - Anfänger-Themen 2
A Wie erkennt die JVM welche class verwendet werden muss? Java Basics - Anfänger-Themen 3
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
J Methoden Methoden einer public class AutoCompleteTextField verwenden Java Basics - Anfänger-Themen 14
R HTTP-Links in Java Class finden Java Basics - Anfänger-Themen 3
D jsoup get class name mit leerzeichen Java Basics - Anfänger-Themen 7
D doc.seect jsouo bestimmtes class element finden Java Basics - Anfänger-Themen 1
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
N Fehlende .class Datei Java Basics - Anfänger-Themen 4
S Daten aus eigenständiger .class-Datei abrufen Java Basics - Anfänger-Themen 1
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
W Externe class in Eclipse importieren Java Basics - Anfänger-Themen 0
X Variablen Problem bei Aufteilung in verschiedene Class-Files Java Basics - Anfänger-Themen 4
Javafan01 Dateiname und Public class Java Basics - Anfänger-Themen 4
S Klassen Class mit Funktionen importieren Java Basics - Anfänger-Themen 1
L jar, class, java und wieder zurück Java Basics - Anfänger-Themen 8
T class Datei auslesen Java Java Basics - Anfänger-Themen 5
B Classpath Class lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
temi Verständnisproblem Class.forName() Java Basics - Anfänger-Themen 3
S setText aus anderer class heraus Java Basics - Anfänger-Themen 6
L Classpath Zwei Bibliotheken enthalten gleiche .class Datei Java Basics - Anfänger-Themen 6
F Taschenrechner "Error loading class..." Java Basics - Anfänger-Themen 5
D Interface Amazon Skill Kit, Interface but method in other class? Java Basics - Anfänger-Themen 3
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
wilmaed protected class Java Basics - Anfänger-Themen 0
C Erste Schritte Fehler beim *.class Aufruf über cmd.exe Java Basics - Anfänger-Themen 9
N class in class Java Basics - Anfänger-Themen 13
B Linux - Error: Could not find or load main class application.Main Java Basics - Anfänger-Themen 28
V Was bewirkt das Schlüsselwort extends in Verbindung mit class bzw. public class ? Java Basics - Anfänger-Themen 2
Azazel Ist die abstract class das selbe wie ein interface ? Java Basics - Anfänger-Themen 33
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
P could not find main class obwohl da Java Basics - Anfänger-Themen 17
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
D Compiler-Fehler error: .class expected Java Basics - Anfänger-Themen 2
S Dataflow von Start bis die SystemProperties class Java Basics - Anfänger-Themen 1
Detox Class Datei erzeugen nicht möglich über cmd Java Basics - Anfänger-Themen 1
M Scanner class Java Basics - Anfänger-Themen 6
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
P Compiler-Fehler Could not load or find main class fehler Java Basics - Anfänger-Themen 15
J Gestaltung der GUI.class Java Basics - Anfänger-Themen 1
P Compiler-Fehler could not find or load main class Java Basics - Anfänger-Themen 5
Z Gleiches Verzeichnis für class und java unter Windows Muss? Java Basics - Anfänger-Themen 11
S Class Dateien decompilieren Java Basics - Anfänger-Themen 4
D neue public static class variablen in array speichern? Java Basics - Anfänger-Themen 6
T Wie vergleiche ich die Jahre aus der while Schleife die in ( public class) fuer cbx geschrieben sind Java Basics - Anfänger-Themen 5
S Vererbung Fehlermeldung: the hierarchy of the type "class name" is inconsistent Java Basics - Anfänger-Themen 10
J Erste Schritte .class datei in meine form inkludieren Java Basics - Anfänger-Themen 3
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
M Class Datein aus einen Unterordner verwenden Java Basics - Anfänger-Themen 2
B .class-File mit Reflection auslesen Java Basics - Anfänger-Themen 8
C class in main aufrufen (SWT Oberfläche) Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben