Java est un langage de programmation informatique de haut niveau orienté objet, basé sur des classes, simultané, sécurisé et à usage général. Il s'agit d'une technologie puissante et largement utilisée.
Quel langage est 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. C++ Le langage Java est donc puissant et facile à utiliser. 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 est un langage fortement typé, qui permet une vérification étendue au moment de la compilation des 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.
Java peut écrire des applications de bureau, des applications Web, des systèmes distribués et des applications système embarquées, etc.
Caractéristiques de Java :
Java est simple, orienté objet, distribué, robuste, sécurisé, indépendant de la plateforme et portable, multi-threading , la dynamique et d'autres caractéristiques ; présentons-le en détail ci-dessous :
1 Simplicité
Java ressemble beaucoup au C++, mais pour rendre le langage petit et familier. , les concepteurs ont supprimé de nombreuses fonctionnalités disponibles dans le langage C++ que le programmeur moyen utilise rarement. 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
Le langage Java fournit des fonctionnalités orientées objet telles que les classes, les interfaces et l'héritage. Pour plus de simplicité, il ne prend en charge que l'héritage unique entre les classes, mais Prend en charge l'héritage multiple entre les interfaces et prend en charge le mécanisme d'implémentation entre les classes et les interfaces (le mot-clé est Implements). Le langage Java prend entièrement en charge la liaison dynamique, tandis que le langage C++ utilise uniquement la liaison dynamique pour les fonctions virtuelles. En bref, le langage Java est un pur langage de programmation orienté objet.
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 a été à l'origine utilisé comme langage pour écrire des logiciels d'électronique domestique 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.
Le mécanisme de typage puissant de Java, la gestion des exceptions, le garbage collection automatique, etc. sont des garanties importantes pour la robustesse des programmes Java. Supprimer les pointeurs est un choix judicieux pour Java. Le mécanisme de vérification de sécurité de Java rend Java plus robuste.
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 d'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 runtime 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 dans lesquelles 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) 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 produit un assez bon code.
9. Multi-threading
Dans le langage Java, un thread est un objet spécial qui doit être créé par la classe Thread ou sa classe descendante (petit-enfant). Il existe généralement deux façons de créer un thread :
1), utiliser une sous-classe de constructeur de type Thread(Runnable) pour envelopper un objet qui implémente l'interface Runnable dans un thread,
2 ), dérivez une sous-classe de la classe Thread et remplacez la méthode run. L'objet créé à l'aide de cette sous-classe est un thread. Il convient de noter que la classe Thread a implémenté l'interface Runnable, donc tout thread a sa méthode run, et la méthode run contient le code à exécuter par le thread. L'activité d'un thread est contrôlée par un ensemble de méthodes. Le langage Java prend en charge l'exécution simultanée de plusieurs threads et fournit un mécanisme de synchronisation entre plusieurs threads (le mot-clé est synchronisé).
10. Dynamique
L'un des objectifs de conception du langage Java est de s'adapter à des environnements en évolution dynamique. Les classes requises par les programmes Java peuvent être chargées dynamiquement dans l'environnement d'exécution, ou les classes requises peuvent être chargées via le réseau. Cela facilite également les mises à niveau logicielles. De plus, les classes en Java ont une représentation au moment de l'exécution et peuvent effectuer une vérification de type au moment de l'exécution.
11. Indépendance de la plateforme
Les programmes Java (fichiers avec le suffixe java) sont compilés sur la plateforme Java dans un format de bytecode neutre en termes d'architecture (le suffixe est un fichier de classe ) et peut ensuite s'exécuter sur n'importe quel système implémentant cette plateforme Java. Cette approche convient aux environnements réseau hétérogènes et à la distribution de logiciels.
Tutoriels vidéo associés recommandés : "Tutoriel Java"
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!