Pourquoi les pointeurs ne sont pas utilisés en Java ?

5 Réponses


  • La raison principale est que nous utiliserons Java pour développer des applications Windows ainsi que des applications Web. Si nous utilisons des pointeurs, en particulier pour les applications Web, nous avons un problème de sécurité. En utilisant des pointeurs, nous avons directement accès à l'adresse directement dans le système. Si nous utilisons dans le Web, les utilisateurs pourront accéder à votre serveur et modifier l'emplacement de l'adresse des données. Il s'agit d'une violation de la sécurité. Donc, pour éviter cela, les pointeurs ont été complètement évités en JAVA.
  • Le langage Java le référencement et le déréférencement des objets sont gérés pour vous automatiquement. Java ne vous permet pas de manipuler des pointeurs ou des adresses mémoire de quelque nature que ce soit. Il ne vous permet pas de convertir des références d'objet ou de tableau en entiers et il ne vous permet pas de faire de l'arithmétique de pointeur. Il ne vous permet pas de calculer la taille en octets de tout type ou objet primitif. Il y a deux raisons à ces restrictions :

    Les pointeurs sont une source notoire de bogues. Les éliminer simplifie le langage et élimine de nombreux bugs potentiels. Les pointeurs et l'arithmétique des pointeurs pourraient être utilisés pour contourner les contrôles d'exécution et les mécanismes de sécurité de Java. La suppression des pointeurs permet à Java de fournir les garanties de sécurité qu'il offre.

    Pour un programmeur C, le manque de pointeurs et d'arithmétique des pointeurs peut sembler une restriction odieuse en Java. Mais une fois que vous vous êtes habitué au modèle de programmation orienté objet Java, cela ne semble plus du tout être une restriction sérieuse. Le manque de pointeurs signifie que vous ne pouvez probablement pas faire des choses comme écrire des pilotes de périphériques UNIX en Java (du moins pas sans utiliser des méthodes natives écrites en C). Mais gros problème - la plupart d'entre nous n'ont jamais à faire ce genre de programmation de bas niveau de toute façon.
  • Java est le langage d'internet. En d'autres termes, on peut dire que c'est un langage de réseaux.
    Comme nous savons qu'en utilisant des pointeurs, nous pouvons accéder à toutes les données importantes en pointant via des pointeurs. Et dans les réseaux et en Java, la sécurité est une préférence. Ainsi, Java n'utilise pas de pointeurs.
  • Eh bien, il est très discutable de dire si Java prend ou non en charge les pointeurs. Beaucoup pensent que chaque type de référence en Java est un pointeur, c'est pourquoi la célèbre Null Pointer Exception. D'autre part, la version 1.5 de Java prend en charge l'arithmétique des pointeurs.

    Java est essentiellement un langage de programmation orienté objet qui a été créé par Sun Microsystems dans les années 1990. Les applications Java sont normalement assemblées en bytecode, mais la compilation en code machine local est également possible. Pendant l'exécution, le bytecode est normalement soit interprété, soit compilé en code local pour fonctionner, mais l'implémentation matérielle directe du bytecode via un processeur Java est également possible.

    Java tire la majeure partie de sa syntaxe d'autres langages de programmation bien connus tels que C et C++, mais comprend un modèle objet moins compliqué et des fonctionnalités de bas niveau diminutives.
  • Ceci est communément connu que Java n'a aucune utilisation des pointeurs mais ce n'est pas vrai. Ce langage utilise des pointeurs mais ils sont utilisés explicitement et ils ne peuvent pas être manipulés directement.

Ecrivez votre réponse

Votre réponse apparaîtra après modération