CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java bytecode] Utilité?

drakenlorde
drakenlorde
Niveau 9
26 janvier 2016 à 20:32:46

Après une recherche rapide sur google, je n'ai pas eu de réponse claire. Pour ceux qui travaille dans les technologies Java, est-ce que le langage bytecode de la machine virtuel de Java est un outil utilisé par les programmeurs autre que les concepteurs de Java? Y'a t-il un intérêt quelconque ou un avantage quelconque à connaitre bytecode?

TheRealMarco
TheRealMarco
Niveau 13
26 janvier 2016 à 21:25:41

Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.

Le bytecode est un code binaire, ce qui permet un traitement plus rapide que le code source Java, et qui rassemble (compile) tous les codes dispersés dans différents fichiers lors de l'écriture du programme.

- Wikipedia.

J'en déduis les avantages :
- Plus rapide.
- Plus portable.

Message édité le 26 janvier 2016 à 21:26:32 par TheRealMarco
godrik
godrik
Niveau 30
26 janvier 2016 à 23:19:11

drakenlorde, oui c'est pas forcement inutile a connaitre. Perso je n'ai jamais regarde mais je connais des gens qui ont eu a faire ca. Principalement pour des questions d'optimisation de code. Si tu ecris le code java comme ci, alors le bytecode va ressembler a ca et donc la jvm peut faire cette optim la.
Ca a aussi du sens pour ceux qui veulent faire un langage au dessus de la JVM qui ne soit pas java. Et assurer l'interoperabilite avec java.

En bref, ce n'est pas la connaissance la plus importante du monde. Mais dans certain cas ca a l'air utile.

VIeRepublique
VIeRepublique
Niveau 20
27 janvier 2016 à 18:27:02

Le fait que le code soit traduit en bytecode avant d'être compilé par la JVM ne devrait pas rendre JAVA aussi lent qu'un langage interprété ?

Y a-t-il un intérêt en terme de sécurité de passer par une VM ?

godrik
godrik
Niveau 30
27 janvier 2016 à 20:08:05

en terme de securite, non pas vraiment.

new_nintendo
new_nintendo
Niveau 8
28 janvier 2016 à 11:04:05

Le 26 janvier 2016 à 21:25:41 TheRealMarco a écrit :

Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.

Le bytecode est un code binaire, ce qui permet un traitement plus rapide que le code source Java, et qui rassemble (compile) tous les codes dispersés dans différents fichiers lors de l'écriture du programme.

- Wikipedia.

J'en déduis les avantages :
- Plus rapide.
- Plus portable.

Plus rapide, faux. Rien ne sera plus rapide qu'un programme compilé nativement. Et pas la peine d'une VM pour avoir du code "portable". Il suffit simplement de faire du code portable. La VM ne fait juste que déplacer le problème à un niveau inférieur : il faut recompiler la VM sur différents OS. De même, les gens ont souvent tendance à faire du code Java non portable de nos jours.

COS[A-B]
COS[A-B]
Niveau 10
28 janvier 2016 à 18:18:44

Tu peux inventer un langage de programmation et écrire un compilateur qui traduit ton langage vers du bytecode, comme ça t'as pas à te soucier de l'architecture de la machine sur laquelle le programme va être exécuté

Message édité le 28 janvier 2016 à 18:19:25 par COS[A-B]
DontColleMyNem
DontColleMyNem
Niveau 10
28 janvier 2016 à 23:13:26

ça bouffe plus de ressources du coup

TheRealMarco
TheRealMarco
Niveau 13
29 janvier 2016 à 10:46:07

Plus rapide, faux. Rien ne sera plus rapide qu'un programme compilé nativement. Et pas la peine d'une VM pour avoir du code "portable". Il suffit simplement de faire du code portable. La VM ne fait juste que déplacer le problème à un niveau inférieur : il faut recompiler la VM sur différents OS. De même, les gens ont souvent tendance à faire du code Java non portable de nos jours.

 

Le bytecode est un code binaire, ce qui permet un traitement plus rapide que le code source Java

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment