Re: LibreOffice και Java

Pantelis Koukousoulas pktoss at gmail.com
Thu Mar 22 09:07:40 UTC 2012


2012/3/22 Αλκιβιάδης Μαυρίδης <alkismavridis at hotmail.com>:
> Εγώ έχω μία ένσταση ως προς το κομάτι jvm.. Η Java ΔΕΝ τρέχει μόνο από jvm, ευτυχώς υπάρχει και το gcj, που δημιουργεί java εκτελέσιμα. Επείσης, προγράμματα που "τρέχουν" απ ευθείας από τον κώδικα δεν είναι πιο αργά απο αν θα έτρεχαν από εκτελέσιμο; Γιατι (λογικά) είναι σαν να κάνεις όλη την ώρα compile..

Δεν είναι ακριβώς έτσι τα πράγματα. Το JVM κάνει "compile" μόνο ό,τι
χρειάζεται (κάνοντας cache τα inner loops κλπ) και έχει και τη
δυνατότητα να κάνει optimizations at runtime έχοντας περισσότερη
πληροφορία διαθέσιμη από ότι έχει ο compiler. Επίσης, όταν λέμε
"compile" στο context του JVM εννοούμε μετατροπή από java bytecodes σε
γλώσσα μηχανής, δηλαδή κάτι ιδιαίτερα γρήγορο, μη φαντάζεσαι ότι είναι
σαν το compile της C/C++.
(Το "compile" από java κώδικα σε bytecodes γίνεται στατικά όπως και στη C).

Γενικά η εμπειρία μου ως τώρα είναι ότι τα καλά JVM τείνουν να έχουν
καλύτερη ως πολύ καλύτερη απόδοση από το gcj. Ο κύριος λόγος ύπαρξης
του gcj νομίζω ήταν το licensing και όχι το performance, λόγος που
έπαψε να υπάρχει όταν βγήκε το openjdk.

Δυστυχώς εκτός από τα γιγάντια εκτελέσιμα και το γενικά χαμηλότερο performance
το gcj έχει και μεγαλύτερα προβλήματα συμβατότητας από ότι το openjdk.

Με κάθε επιφύλαξη καθώς δεν είμαι java expert και οι γνώσεις μου για
τη java είναι
λίγο απαρχαιωμένες ίσως, αν εξαιρέσουμε τα σχετικά με το packaging.

Χαιρετισμούς,
Παντελής


More information about the Ubuntu-gr mailing list