Qu'est-ce que Java ?
Java est un langage de programmation orienté objet. Il absorbe non seulement les divers avantages du langage C++, mais abandonne également les concepts difficiles à comprendre tels que l'héritage multiple et les pointeurs en C++. , le langage Java est puissant et simple et facile à utiliser avec deux fonctionnalités. En tant que représentant des langages de programmation statiques orientés objet, le langage Java implémente parfaitement la théorie orientée objet et permet aux programmeurs d'effectuer une programmation complexe avec une façon de penser élégante.
Java présente les caractéristiques de simplicité, d'orientation objet, de distribution, de robustesse, de sécurité, d'indépendance et de portabilité de la plateforme, de multi-threading et de dynamique. Java peut écrire des applications de bureau, des applications Web, des systèmes distribués et des applications système embarquées, etc.
Fonctionnalités du langage
1. Simplicité
Java semble être conçu de manière très similaire au C++, mais afin de rendre le langage petit et facile à utiliser. familiariser, les concepteurs Nous avons supprimé de nombreuses fonctionnalités disponibles dans le langage C++ qui sont rarement utilisées par les programmeurs moyens. Par exemple, Java ne prend pas en charge l'instruction go to et fournit à la place des instructions break et continue ainsi qu'une gestion des exceptions. Java élimine également la surcharge d'opérateurs (surcharge) et les multiples fonctionnalités d'héritage du C++, et n'utilise pas le fichier principal, éliminant ainsi le besoin de préprocesseurs. Étant donné que Java n'a pas de structures, les tableaux et les chaînes sont des objets, aucun pointeur n'est donc nécessaire. Java peut gérer automatiquement les références d'objets et les références indirectes et réaliser une collecte automatique des unités inutiles, afin que les utilisateurs n'aient pas à se soucier des problèmes de gestion du stockage et puissent consacrer plus de temps et d'énergie à la recherche et au développement.
2. Orienté objet
Java est un langage orienté objet. Pour les programmeurs, cela signifie prêter attention aux données de l’application et aux méthodes permettant de manipuler les données, plutôt que de penser strictement en termes de procédures. Dans un système orienté objet, une classe est un ensemble de données et de méthodes permettant d'exploiter les données. Les données et les méthodes décrivent ensemble l'état et le comportement d'un objet. Chaque objet est une encapsulation de son état et de son comportement. Les classes sont organisées selon un certain système et une certaine hiérarchie afin que les sous-classes puissent hériter du comportement des superclasses. Dans cette hiérarchie de classes, il existe une classe racine, qui est la classe ayant un comportement général. Les programmes Java sont organisés en classes.
Java comprend également une collection étendue de classes, qui forment divers packages, que les utilisateurs peuvent utiliser dans leurs propres programmes. Par exemple, Java fournit des classes qui génèrent des composants d'interface utilisateur graphique (paquet java.awt), où awt est l'abréviation de boîte à outils de fenêtrage abstrait, des classes qui gèrent les entrées et les sorties (paquet java.io) et des classes qui prennent en charge les fonctions réseau (. paquet java.net).
3. Distribution
Java est conçu pour prendre en charge les applications sur le réseau. C'est un langage distribué. Java prend non seulement en charge différents niveaux de connexions réseau, mais prend également en charge des connexions réseau de flux fiables avec la classe Socket, afin que les utilisateurs puissent générer des clients et des serveurs distribués.
Le réseau devient un véhicule de distribution d'applications logicielles. Les programmes Java ne doivent être écrits qu’une seule fois et exécutés n’importe où.
4. Compilation et interprétabilité
Le compilateur Java génère du byte-code au lieu du code machine habituel. Le bytecode Java fournit un format de fichier objet indépendant de l'architecture et le code est conçu pour fournir efficacement des programmes sur plusieurs plates-formes. Les programmes Java peuvent s'exécuter sur n'importe quel système implémentant un interpréteur Java et un système d'exécution.
Dans un environnement interprété, la phase standard de « liaison » du développement de programmes disparaît en grande partie. S'il existe une étape de liaison en Java, il s'agit simplement du processus de chargement de nouvelles classes dans l'environnement. C'est un processus incrémentiel et léger. Par conséquent, Java prend en charge un prototypage rapide et une expérimentation facile, ce qui conduira à un développement rapide des programmes. Il s'agit d'un processus de développement élégant qui contraste fortement avec le processus traditionnel et fastidieux de « compilation, liaison et test ».
5. Robustesse
Java était à l'origine utilisé comme langage pour écrire des logiciels d'électronique grand public, il est donc conçu pour écrire des logiciels hautement fiables et robustes. Java élimine certaines erreurs de programmation, ce qui rend assez facile l'écriture de logiciels fiables.
Java est un langage fortement typé, qui permet une vérification étendue au moment de la compilation pour détecter les problèmes potentiels d'incompatibilité de type. Java nécessite des déclarations de méthodes explicites et ne prend pas en charge les déclarations implicites de style C. Ces exigences strictes garantissent que le compilateur détecte les erreurs d'appel, ce qui se traduit par des programmes plus fiables.
L'une des améliorations les plus importantes en matière de fiabilité est le modèle de stockage de Java. Java ne prend pas en charge les pointeurs, ce qui élimine la possibilité d'écraser le stockage et de corrompre les données. De même, la « garbage collection » automatique de Java empêche les fuites de stockage et autres erreurs nuisibles liées à l'allocation et à la désallocation dynamiques du stockage. L'interpréteur Java effectue également de nombreuses vérifications d'exécution, telles que la vérification que tous les accès aux tableaux et aux chaînes se situent dans les limites.
La gestion des exceptions est une autre fonctionnalité de Java qui rend les programmes plus robustes. Une exception est un signal indiquant qu'une condition anormale, semblable à une erreur, s'est produite. À l'aide des instructions try/catch/finally, les programmeurs peuvent trouver le code de gestion des erreurs, ce qui simplifie la tâche de gestion des erreurs et de récupération.
6. Sécurité
Le modèle d'allocation de stockage de Java est l'un de ses principaux moyens de se défendre contre les codes malveillants. Java n'a pas de pointeurs, les programmeurs ne peuvent donc pas accéder aux coulisses et simuler des pointeurs vers la mémoire. Plus important encore, le compilateur Java ne gère pas les décisions relatives à l'organisation du stockage, de sorte que le programmeur ne peut pas deviner l'organisation réelle du stockage de la classe en examinant la déclaration. Les références de stockage dans le code Java compilé déterminent l'adresse de stockage réelle au moment de l'exécution par l'interpréteur Java.
Le système d'exécution Java utilise un processus de vérification du bytecode pour garantir que le code chargé sur le réseau ne viole aucune restriction du langage Java. Une partie de ce mécanisme de sécurité inclut la manière dont les classes sont chargées depuis Internet. Par exemple, les classes chargées sont placées dans des espaces de noms distincts plutôt que dans des classes locales, empêchant ainsi une applet malveillante de remplacer les classes Java standard par ses propres versions.
7. Portabilité
Java fait des déclarations de langage indépendantes des aspects d'implémentation. Par exemple, Java indique explicitement la taille et le comportement opérationnel de chaque type de données de base (ces types de données sont décrits par la syntaxe Java).
L'environnement Java lui-même est portable sur de nouvelles plates-formes matérielles et systèmes d'exploitation. Le compilateur Java est également écrit en Java, tandis que le système d'exécution Java est écrit en langage ANSIC.
8. Hautes performances
Java est un langage qui est d'abord compilé puis interprété, il n'est donc pas aussi rapide qu'un langage entièrement compilé. Mais il existe des situations où les performances sont essentielles. Pour prendre en charge ces situations, les concepteurs Java ont créé un compilateur « juste à temps », qui traduit également le bytecode Java en code machine pour un processeur (unité centrale de traitement) spécifique au moment de l'exécution. est de parvenir à une compilation complète.
Le format de bytecode Java a été conçu en tenant compte des besoins de ces compilateurs "juste à temps", de sorte que le processus de génération de code machine est assez simple et peut produire un assez bon code.
9. Multi-threading
Java est un langage multi-thread. Il prend en charge l'exécution multi-thread (également appelée procédure légère) et peut gérer différentes tâches, en effectuant de la programmation avec des threads. très facile. Le package lang de Java fournit une classe Thread, qui prend en charge les méthodes de démarrage des threads, d'exécution des threads, d'arrêt des threads et de vérification de l'état des threads.
La prise en charge des threads Java comprend également un ensemble de primitives de synchronisation. Ces primitives sont basées sur le schéma de synchronisation largement utilisé développé par C.A.R. Haore dans le style des variables de supervision et conditionnelles. À l'aide du mot-clé synchronisé, les programmeurs peuvent indiquer que certaines méthodes d'une classe ne peuvent pas s'exécuter simultanément. Ces méthodes sont sous le contrôle de procédures de supervision pour garantir que les variables sont maintenues dans un état cohérent.
10. Dynamique
Le langage Java est conçu pour s'adapter aux environnements changeants. Par exemple, les classes en Java sont chargées à la demande, et certaines sont même obtenues via le réseau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!