GNT sans publicité, site mobile, fonctionnalitées exclusives...

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
Lire les 14 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alexandre Touret
Le #228649
Bonjour,

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 ?
Java est actuellement utilise pour les grosses applications. Dans ma

societe, on l utilise sur des projets avec plus de 1000 classes
C'est très limitant non ?
en effet :-)
Peut-on envisager l'utilisation de Java sur des aplications lourdes ?
Oui

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 ?
Il y a eu des essais, mais pas tres pertinents a mon avis. Pas mal d

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.


Par avance merci

J espere t avoir apporte qq eclaircissements

Fred



Alexandre

cfranco
Le #228631
xfredox
-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 ?


C'est totalement faux surtout...

--
Christophe Franco

Mihamina Rakotomandimby (R12y)
Le #228630
xfredox wrote:

J'ai plusieurs question concernant Java:
-Est-ce que Java est viable pour des applications très grandes,


Oui. Plus que "tres grandes" même.

TestMan
Le #228629
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 ?


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 ;-)

-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 ?


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.

Par avance merci


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

khnoum
Le #228425
Bonsoir,

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.



Bonjour,

J'ai plusieurs question concernant Java:

-Est-ce que Java est viable pour des applications très grandes,
...
Fred



Publicité
Suivre les réponses
Poster une réponse
Anonyme