Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Sind Java-Varianten eigentlich 100% austauschbar, womöglich "Binärkompatibel" ? (https://www.delphipraxis.net/204828-sind-java-varianten-eigentlich-100-austauschbar-womoeglich-binaerkompatibel.html)

Rollo62 3. Jul 2020 07:03


Sind Java-Varianten eigentlich 100% austauschbar, womöglich "Binärkompatibel" ?
 
Hallo zusammen,

ich bin jetzt nicht so tief in der Java-Welt.
Ich frage mich ob diese Varianten hier, in der Tabelle unter "OpenJDK Builds",
die von verschiedenen Quellen stammen, eigentlich immer gleiches Verhalten haben.

https://en.wikipedia.org/wiki/OpenJDK

Insbesondere die Kompatibilität der Signatur-Tools, ist das gleich ?

Ok, "Binärkompatibel" ist wohl der falsche Begriff, aber Ihr wisst was ich meine :stupid:

Bernhard Geyer 3. Jul 2020 07:28

AW: Sind Java-Varianten eigentlich 100% austauschbar, womöglich "Binärkompatibel" ?
 
Was meinst du mit "unterschiedliche Quellen".
Es gibt nur ein OpenJDK und das sollte keine andere Quelle modifiziert haben.

Oder meinst du unterschiedliche JDK-Implementierungen (Oracle vs. OpenJDK vs. IBM JDK).
Theoretisch sollten die sich gleich verhalten. Aber wie es halt so ist - Wenn es mehrer Implementierungen gibt, dann werden diese sich in Details unterscheiden.
Primär an stellen bei denen das verhelten nicht 1000% genau definiert ist.

Rollo62 3. Jul 2020 07:36

AW: Sind Java-Varianten eigentlich 100% austauschbar, womöglich "Binärkompatibel" ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich meine die Tabelle in dem Link ...

Anhang 52780

Sind die nicht alle bei verschiedenen Lieferanten gehostet, und womöglich unterschiedlich, je nach deren Schwerpunkt ?

Insbesondere die Signatur-Tools müssten aber exakt gleich sein,
weil ja sonst eine Variante nicht mit der anderen kompatibel wäre, oder nicht ?

Hisoka 5. Jul 2020 08:59

AW: Sind Java-Varianten eigentlich 100% austauschbar, womöglich "Binärkompatibel" ?
 
Zitat:

Zitat von Rollo62 (Beitrag 1468787)
Ich meine die Tabelle in dem Link ...

Anhang 52780

Sind die nicht alle bei verschiedenen Lieferanten gehostet, und womöglich unterschiedlich, je nach deren Schwerpunkt ?

Insbesondere die Signatur-Tools müssten aber exakt gleich sein,
weil ja sonst eine Variante nicht mit der anderen kompatibel wäre, oder nicht ?

da Java komplett anders arbeitet als Delphi ist sowas wie die Signatur für die Anwendungskompatiblität irrelevant. Die in der liste erwähnten JDK Builds unterscheiden sich in vielen fällen nur darin, dass der Betriebssystem Anbieter das JDK baut und mit anbietet und entsprechend dazu Support bietet. Dadurch dass Sie auch Support bieten, werden Anbieter wie Red Hat zum Beispiel Fehlerkorrekturen auch für ältere Versionen bereitstellen und damit wird die Version nicht von der Signatur her identisch sein.

jobo 5. Jul 2020 10:23

AW: Sind Java-Varianten eigentlich 100% austauschbar, womöglich "Binärkompatibel" ?
 
Binär kompatibel sicher nicht, meinst Du vielleicht API?

Java als Sprache ist erstmal eine Spezifikation. Es gibt verschiedenste Implementierungen (glaub früher irgendwann auch mal eine von MS). Der Anspruch, auf unterschiedlichsten Plattformen lauffähig zu sein ergibt in Konsequenz, dass eine binäre Kompatibilität gar nicht gegeben sein kann. Ob x86/64, ARM, MIPS, ... allein die Hardwareplattformen ergeben zwangsläufig gewisse Unterschiede. Wenn z.B. keine FPU da ist, muss auch die Implementierung anders ausfallen.

Der Anspruch (der unterschiedlichen Anbieter) ist natürlich auch, fehlerfrei und vollständig eine Spec zu erfüllen. Java selbst definiert da ja auch unterschiedliche Ranges, bspw. mit Java Enterprise. Java auf dem CISCO Telefon und in der berühmten Waschmaschine oder auf einem High End Rechner, die Implementierungen sind sicher nicht überall identisch.

Wenn man die im Bild aufgeführten Beispiele nimmt und davon ausgeht, dass sie alle das gleiche können (auf einem herkömmlichen PC mit einem herkömmlichen Betriebssystem wie Windows, Linux, Mac OS..), ergeben sich die Unterschiede bspw. bei der Integration aber wahrscheinlich vor allem bei der Performance. Das klassische Argument gegen Java war die niedrigere Performance. Je nach Verbreitung der Plattform wurde und wird an dieser Ecke stark gearbeitet und es gibt heute sehr schnelle Implementierungen.

Wenn man tatsächlich für unterschiedliche Plattformen entwickeln möchte, kann man mindestens an dieser Stelle nicht ohne weiteres davon ausgehen, auf allen Plattformen vergleichbar schnelle Resultate zu erhalten (bei vergleichbarer Rechenleistung der CPU).

Im Grunde ist diese Problematik identisch zu den Compilern, die ja zeitlich nie so nahe an der Hardware sind, wie die Hardware Hersteller es gerne hätten. Kompiliert man alten Code mit modernen Compilern, ist er oft bedeutend schneller, ohne das der Code geändert wurde.

Rollo62 5. Jul 2020 19:20

AW: Sind Java-Varianten eigentlich 100% austauschbar, womöglich "Binärkompatibel" ?
 
Ok, das die unterschiedlich konfiguriert sein können davon gehe ich auch aus.
Aber wenn ich deren signtool benutze um z.B. Apps zu signieren DARF doch kein Unterschied vorhanden sein.
Auch wenn ich eigene Zertifikate erstelle, etc.

Ist das irgendwie gewährleistet das sich da Alle gleich verhalten ?

Sonst würde ja ein Zertifikat erstellt von A bei B nicht akzeptiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz