Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Transfert de Données en Java | Structure Java Approfondie
Java Étendu
course content

Contenu du cours

Java Étendu

Java Étendu

1. Structure Java Approfondie
2. Méthodes
3. Chaîne Avancée
4. Classes
5. Classes Avancées

book
Transfert de Données en Java

Comment l'information est-elle transmise en Java?

Vous savez d'après le cours précédent qu'il existe deux types de mémoire - pile et tas. Examinons comment les données sont stockées dans ces deux zones de mémoire :

java

Main

copy
123456789
package com.example; public class Main { public static void main(String[] args) { String number = new String("170"); String word = new String("word"); int poolNumber = -4; } }

Nous avons créé 3 variables différentes. Ci-dessous se trouve un diagramme illustrant comment et où elles seront stockées en mémoire :

Passons en revue ce que vous avez observé dans le diagramme :

  • Nous voyons des champs String dans la mémoire de pile qui sont des liens vers des valeurs dans la mémoire de tas. De cette façon, nous n'accédons pas directement à la mémoire de tas à chaque fois. Au lieu de cela, nous accédons d'abord au lien dans la mémoire de pile, ce qui est plus rapide que d'accéder à la mémoire de tas. Vous avez déjà rencontré des liens vers des valeurs en apprenant sur le sujet du String Pool ;
  • Vous pouvez voir que int n'est pas stocké dans la mémoire de tas ; sa valeur est stockée directement dans la mémoire de pile. Cela s'applique à tous les types de données primitifs (byte, short, int, long, float, double, et boolean). Ainsi, les types de données primitifs sont passés en Java par valeur. Cependant, String n'est pas un type de données primitif, donc sa valeur est stockée dans la mémoire de tas ;
  • Un nouvel objet est créé dans la mémoire de tas pour chaque nouveau lien. Cependant, si deux variables du même type ont la même valeur, elles référenceront le même objet dans la mémoire de tas ;
  • Le Integer Pool est une zone dans la mémoire de pile où toutes les valeurs entières dans la plage de -128 à 127 sont liées. Cette optimisation est faite pour améliorer la performance de la gestion des nombres en Java, car les nombres dans cette plage sont couramment utilisés. Rappelez-vous que la mémoire de pile fonctionne plus rapidement que la mémoire de tas, donc nous obtenons des réponses plus rapides grâce au Integer Pool ;
  • Le String Pool est une zone dans la mémoire de tas où les valeurs de chaîne identiques sont stockées.

Conclusion

Nous pouvons conclure qu'en Java, les types de données sont passés par valeur. Les objets comme String sont également passés par valeur, mais ils passent par une étape de passage par référence.

1. Qu'est-ce qu'un Integer Pool en Java ?

2. Comment les données sont-elles passées en Java, par référence ou par valeur ?

Qu'est-ce qu'un Integer Pool en Java ?

Qu'est-ce qu'un Integer Pool en Java ?

Sélectionnez la réponse correcte

Comment les données sont-elles passées en Java, par référence ou par valeur ?

Comment les données sont-elles passées en Java, par référence ou par valeur ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 2
We're sorry to hear that something went wrong. What happened?
some-alt