Plusieurs questions concernant Java
Le
xfredox
Bonjour,
J'ai plusieurs question concernant Java:
-Est-ce que Java est viable pour des applications très grandes, j'ai
lu quelque part que l'on ne pouvait pas faire des programmes de plus
de 64ko ? C'est très limitant non ?
Peut-on envisager l'utilisation de Java sur des aplications lourdes ?
Des exemples ?
-La rapidité et Java:
J'ai vu qu'il y avait une utilisation JIT (just in time), qui permet
une amélioration importante des performances. Mais je me demandais
s'il existait un moyen, lors de l'execution d'un programme java, que
la console java le traduise enièrement en code natif de la machine
avant son utlisation, et non pas seulement que de certaines parties du
programmes les plus souvent utilisées (je ne parle pas de faire un
exécutable)
programme source java-> traduction totale en code natif sur la machine
cible->utlisation du programme
Cela ne permetrait-il pas, après un certain temps(dû à la compliation
en code natif) d'avoir une application totalement fluide ?
Par avance merci
Fred
J'ai plusieurs question concernant Java:
-Est-ce que Java est viable pour des applications très grandes, j'ai
lu quelque part que l'on ne pouvait pas faire des programmes de plus
de 64ko ? C'est très limitant non ?
Peut-on envisager l'utilisation de Java sur des aplications lourdes ?
Des exemples ?
-La rapidité et Java:
J'ai vu qu'il y avait une utilisation JIT (just in time), qui permet
une amélioration importante des performances. Mais je me demandais
s'il existait un moyen, lors de l'execution d'un programme java, que
la console java le traduise enièrement en code natif de la machine
avant son utlisation, et non pas seulement que de certaines parties du
programmes les plus souvent utilisées (je ne parle pas de faire un
exécutable)
programme source java-> traduction totale en code natif sur la machine
cible->utlisation du programme
Cela ne permetrait-il pas, après un certain temps(dû à la compliation
en code natif) d'avoir une application totalement fluide ?
Par avance merci
Fred

Poser une question


societe, on l utilise sur des projets avec plus de 1000 classes
C'est très limitant non ?
en effet :-)
applications client serveur fonctionnent en java (swing cote client) et
ont des perfs excellentes ( le principal pb etant souvent situe entre le
clavier et la chaise...). J ai vu pas mal de perfs entre des pg natifs (
codes en c) et java. Mis a part le lancement de la jvm qui peut etre
assez long selon les config, l execution d un prg ou d un algorithme est
sensiblement le meme au bout de qq executions.
Alexandre
C'est totalement faux surtout...
--
Christophe Franco
Oui. Plus que "tres grandes" même.
Bonjour,
Un ancien exemple en tête, une application swing dont la conception à
débutée il y a plus de 7 ans (!!) et qui n'est rien d'autre que l'IHM de
gestion de marché de produits dérivés d'une grande banque mondiale
présente à la défense.
Il y a 4 ans de celà la taille de son JAR d'exécution était déjà de plus
de 60Mo en compréssé et elle consomait plus de 300Mo de mémoire pour
afficher via les 6 écrans de sorties les différents graphiques
temps-réel et IHM d'aide à la décisions.
Une application super performante disposant de fonctionalités "aux
petits oignons" à faire palir tout courtier ;-)
Pour les taches complexes, une optimisation JIT sera toujours plus
performante qu'une "compilation native". Tout simplement, car le JIT a
une vison dynamique des choses.
Si ton application effectue tout le temps une unique chose (genre calcul
matriciel), par contre ton JIT plafonera en optimisation alors qu'une
compilation native serait plus efficace.
En clair, pour le commun des mortels, le JIT sera toujours meilleur, car
une application actuelle n'est que difficilement linéarisable non
monolithique et disposant d'E/S (IHM ou interface avec système tiers)
qui rendent son exécution difficilement prédictible a priori.
Enfin, pour ce qui est de la limitation des 64ko, il s'agit de la limite
historique de la taille du code d'une méthode (et non d'une classe, ni
encore moins d'un programme) ... ce qui en fait déjà une trés (trés
trés) grosse méthode que je n'ai jamais rencontrée (considérant, qu'il
faut toujours mieux découper le code pour mieux le structurer et éviter
les blocs de code-poubelle, mais c'est un avis trés perso). Donc rien à
craindre coté limitation technique de Java !
Pour résumer, si tu peux pas le faire en Java, c'est que tu es limité
par les capacité de ta machine :o)
A+
TM
Et bien je me suis longuement posé la même question que toi.
Lorsqu'on arrive a se poser ce genre de question cela signifie, je
crois, que l'on est plus tourné vers Windows et les technologies qui lui
sont propres... je ne dois pas être très loin.
Je me suis aussi posé la question de savoir pourquoi, comme dans la
boîte pour laquelle je travaille, on développe les applications sous
Java au lieu de les développer sous, par exemple, dotnet.
Personnellement je n'ai toujours pas la réponse.
Sinon oui il est possible de développer des applications très grandes en
Java... par contre reprendre le projet d'un externe/indépendant expert
en Java n'est pas chose simple... enfin pour moi.