Les concepteurs du langage Java étant très familiers avec le langage C++, ils ont tiré les leçons du langage C++ lors de la conception. On peut dire que le langage Java est un langage de programmation qui est "plus orienté objet " que le langage C++. Java à travers cet article.
Caractéristiques de Java
Le langage Java est un excellent langage de programmation. Son plus grand avantage est qu'il est indépendant de la plate-forme. Le même code peut être utilisé sur Windows 9x, Windows NT, Solaris, Linux, MacOS et autres plates-formes. La fonctionnalité « écrire une fois, exécuter n'importe où » la rend largement adoptée sur Internet.
Les concepteurs du langage Java étant très familiers avec le langage C++, ils ont tiré les leçons du langage C++ lors de la conception. On peut dire que le langage Java est un langage de programmation « plus orienté objet » que le langage C++. La structure grammaticale du langage Java est très similaire à la structure grammaticale du langage C++, ce qui facilite l'apprentissage du langage Java par les programmeurs C++.
Bien sûr, s’il ne s’agissait que d’un simple lifting du C++, il n’y aurait pas d’engouement pour Java aujourd’hui. Certaines nouvelles fonctionnalités utiles fournies par le langage Java facilitent l'écriture de « code sans erreur » en utilisant le langage Java plutôt qu'en utilisant le langage C++.
Ces nouvelles fonctionnalités incluent :
1) Fournit une gestion automatique de la mémoire, et les programmeurs n'ont pas besoin d'allouer et de libérer de la mémoire dans le programme , ces terribles erreurs d'allocation de mémoire ne vous dérangeront plus ;
2) Supprimez les "pointeurs" déroutants et sujets aux erreurs dans le langage C++ et utilisez d'autres méthodes pour compenser cela
3) Évite la confusion entre les instructions d'affectation (telles que a = 3) et les instructions d'opération logique (telles que a = = 3)
4) Annule le problème complexe des multiples héritage ;
Quelques notes :
« L'héritage multiple » est un terme « orienté objet », que nous décrirons en détail dans le chapitre 2. Ces avantages sont à l'origine de l'engouement pour Java. Avec ses puissantes capacités de portage, son traitement multithread et ses capacités de mise en réseau, Java est devenu populaire dans le monde entier. Il est désormais progressivement devenu un standard pour les appareils portables, Internet et les véhicules. ordinateurs.
Quelques conseils :
La spécification du langage Java est publique, vous pouvez la trouver sur le site officiel d'Oracle, lisez la spécification du langage Java C'est un un excellent moyen d'améliorer vos compétences.
Principales fonctionnalités du langage Java
Le langage Java possède de nombreuses fonctionnalités efficaces qui attirent les programmeurs, les plus importantes sont les suivantes Quelques-unes :
1. Simple et efficace
Le langage Java est un langage de programmation "orienté objet" assez concis. Le langage Java omet toutes les fonctionnalités difficiles à comprendre et déroutantes du langage C++, telles que les fichiers d'en-tête, les pointeurs, les structures, les unités, la surcharge d'opérateurs, les classes de base virtuelles, etc. C’est plus rigoureux et concis.
Remarque :
Certains lecteurs familiers avec le langage Visual Basic peuvent penser que le langage Java est plus compliqué que VB, en effet, utiliser la programmation Java est plus laborieux que VB. Mais tout le monde doit savoir que VB est un outil de développement intégré. Il est devenu un artefact pour développer des programmes GUI grâce à ses outils visuels, mais il ne peut pas être considéré comme un langage. Sa base est le langage Basic, qui est le langage le plus simple, mais ses fonctions ne sont pas aussi complètes que C, C++ et Java.
Le langage Java utilise un logiciel spécial méthode de construction qui peut s'exécuter indépendamment sur une très petite machine. Seuls 40 Ko peuvent accueillir un interpréteur de base. Même avec la bibliothèque standard de base et la prise en charge des threads, seuls 175 Ko suffisent. C’est aussi le secret du succès du langage Java.
2. Haute portabilité
Pour un programmeur, le programme écrit peut être utilisé sur Windows, MacOS, LINUX et d'autres plates-formes en même temps sans modification. c'est tout simplement un rêve devenu réalité ! Le langage Java rend de plus en plus proche de nous cette chose initialement inaccessible. Les programmes écrits en langage Java peuvent s'exécuter sur différentes plates-formes avec seulement quelques modifications, voire parfois aucune modification. Java est définitivement un langage de programmation multiplateforme.
Par exemple, différentes plates-formes ont des réglementations différentes sur la taille du type de données. Sur certaines plateformes, le type entier (int) est représenté par un nombre binaire de 16 bits, tandis que sur d'autres plateformes, il est représenté par un nombre binaire de 32 bits. Le langage C/C++ ne protège pas cette différence causée par les différentes plates-formes. De cette façon, si un programme source en langage C développé sur une plate-forme qui utilise des nombres binaires de 16 bits pour représenter des entiers doit s'exécuter sur une plate-forme qui utilise des nombres binaires de 32 bits pour représenter des nombres entiers, c'est tout simplement une mauvaise nouvelle.
Dans le langage Java, cette différence provoquée par la plateforme est masquée. Les entiers en Java doivent être représentés par un binaire 32 bits, et la machine virtuelle Java digère cette différence. Lorsque nous souhaitons transplanter un programme source en langage Java développé sur une plate-forme qui utilise des nombres binaires de 16 bits pour représenter des entiers pour l'exécuter sur une plate-forme qui utilise des nombres binaires de 32 bits pour représenter des nombres entiers, il n'est pas nécessaire de le modifier.
Il est inévitable que le langage Java ait une telle portabilité, car son concept de conception est "écrire une fois, exécuter n'importe où".
3. "Orienté objet"
On peut dire que "orienté objet" est une révolution dans le génie logiciel, qui a considérablement amélioré les capacités humaines de développement de logiciels. . Un grand progrès et une étape majeure dans le développement logiciel.
Au cours des 30 dernières années, « l'orientation objet » a fait de grands progrès et a pleinement démontré sa valeur. Jusqu'à présent, elle a formé « l'analyse de système orientée objet », la « conception de système orientée objet ». " Programmation orientée objet " un système. Par conséquent, en tant que langage de programmation moderne, il ne peut pas s’écarter de cette direction, et le langage Java ne fait pas exception.
Remarque :
Le langage Java est dit plus "orienté objet" que le C++. Il est difficile à utiliser. le langage Java avec l'idée d'"objet".
4. Interprétation
Vous souvenez-vous encore du langage de base ? Lorsque nous utilisons le langage Basic pour la programmation, nous devons d'abord entrer dans l'environnement du langage Basic, puis entrer dans le programme source, puis l'exécuter. L'environnement du langage Basic interprète et exécute phrase par phrase et obtient directement les résultats. Cette langue est une langue interprétée.
Ce n'est pas le cas avec des langages comme C/C++. Nous utilisons d'abord un logiciel d'édition ou un environnement de développement intégré (IDE) pour écrire le programme source, puis le compilons pour générer un fichier exécutable. Ensuite, nous exécutons ce fichier exécutable via le système d'exploitation pour obtenir le résultat. Ce langage est un langage compilé.
Les langages interprétés sont inefficaces et lents ; les langages compilés sont efficaces et rapides.
Le langage Java est un langage interprété. Oui, vous avez bien lu, c'est un langage interprété, c'est-à-dire que comparé au langage C/C++, les programmes écrits en langage Java sont inefficaces et lents à s'exécuter. Mais il atteint le grand objectif « écrire une fois, exécuter n'importe où » en exécutant des interpréteurs Java sur différentes plates-formes et en interprétant le code Java. Pour atteindre cet objectif, il vaut la peine de sacrifier l'efficacité. En outre, la technologie informatique évolue chaque jour et les vitesses de calcul deviennent de plus en plus rapides.
Quelques conseils :
En fait, le langage Java n'est pas complètement interprété comme le langage Basic. C'est un langage interprété et compilé. Pour écrire un programme en langage Java, utilisez d'abord un logiciel d'édition ou un environnement de développement intégré (IDE) pour écrire le programme source, puis utilisez un compilateur Java pour effectuer une pseudo-compilation et le compiler en code intermédiaire (également appelé bytecode) . Utilisez ensuite l'interpréteur Java pour l'interpréter.
5. Adapté à l'informatique distribuée
Le langage Java possède des capacités de mise en réseau puissantes et faciles à utiliser et est très adapté au développement de programmes informatiques distribués. Les applications Java peuvent accéder aux objets distants via des URL, tout comme elles accèdent aux systèmes de fichiers locaux.
Il est très simple d'écrire un programme de communication Socket en utilisant le langage Java. Son utilisation est plus facile que d'utiliser n'importe quel autre langage. Et il est également très approprié pour le développement de scripts de passerelle publique interface (CGI). De plus, vous pouvez également utiliser l'applet Java (Applet) et la page Java Server (Java Server Page, appelée JSP), Servlet et d'autres moyens pour créer des pages Web plus riches.
6. A de meilleures performances
Comme mentionné précédemment, Java étant un langage interprété, son efficacité d'exécution est relativement plus lente, car le langage Java utilise deux méthodes. , ses performances sont toujours bonnes. 1) Une fois le programme source du langage Java écrit, utilisez d'abord un pseudo-compilateur Java pour effectuer une pseudo-compilation, convertissez-le en code intermédiaire (également appelé bytecode), puis interprétez-le2) Fournit un compilateur "Just-in-Time" (JIT). Lorsqu'une vitesse plus rapide est nécessaire, le compilateur JIT peut être utilisé pour convertir le bytecode en code machine, puis le mettre en mémoire tampon.
Quelques conseils :
Ce type de compilateur JIT, comme son nom l'indique, Just-In-Time, ne fonctionne qu'au moment de l'exécution, donc Compilez-le dans un code machine dépendant de la plate-forme (puisqu'il est maintenant en cours d'exécution, il n'est pas nécessaire de prendre en compte la portabilité). Après un traitement de cette manière, la vitesse peut être multipliée par 10, voire 20. De plus, cette technologie est constamment corrigée. À l'avenir, le compilateur JIT sera plus intelligent et pourra surveiller quels codes sont fréquemment exécutés, afin de les optimiser de manière appropriée et d'accélérer encore l'exécution.
7. Robustesse et prévention des problèmes avant qu'ils ne surviennent
Le langage Java effectue de nombreuses vérifications précoces des problèmes potentiels lors de la pseudo-compilation et fait beaucoup de choses pendant l'exécution. Le contrôle correspondant peut être considéré comme le « compilateur » le plus strict. Sa méthode de « prévention des problèmes avant qu'ils ne surviennent » élimine les erreurs dans de nombreux programmes avant qu'elles ne surviennent. Il existe souvent de nombreuses erreurs qui ne seraient exposées qu'au moment de l'exécution dans d'autres langages, mais qui sont découvertes au stade de la compilation. De plus, le langage Java fournit également de nombreuses fonctionnalités pour garantir la stabilité et la robustesse du programme, réduisant ainsi efficacement les erreurs et rendant les applications Java plus robustes.
8. Avec des capacités multi-threading
Le thread est un processus léger et une fonctionnalité essentielle dans la programmation moderne. Les capacités de traitement multithread permettent aux programmes d'avoir une meilleure interactivité et des performances en temps réel. Java a des performances supérieures en multi-threading, possède des fonctions puissantes qui vous surprendront et le multi-threading est très simple dans le langage Java.
Remarque :
Il convient de noter que la mise en œuvre des threads sur diverses plates-formes grand public varie considérablement, de sorte que le langage Java est temporairement incapable de implémenter cet aspect. Pour être « indépendant de la plate-forme », Java implémente un ensemble de mécanismes multi-thread pour différents systèmes d'exploitation. Et pour les programmeurs, le code qui appelle le mécanisme multi-thread est toujours le même sur différentes machines.
9. Il a une sécurité élevée
Depuis la conception du langage Java, la sécurité a été soigneusement étudiée et beaucoup de choses ont été faites pour l'exploration. Le langage Java est actuellement le langage de programmation le plus sécurisé. Bien que Sun ait promis un jour : « Un système anti-virus et anti-piratage peut être facilement construit via Java », la vérité selon laquelle « il n'y a pas de sécurité absolue dans le monde » ne sera pas inefficace simplement à cause de la promesse de quelqu'un. Peu de temps après la sortie du JDK (Java Development Kit) 1.0, un groupe d'experts en sécurité de l'Université de Princeton aux États-Unis a découvert la première erreur dans les fonctionnalités de sécurité de Java 1.0. Depuis lors, les problèmes de sécurité Java ont commencé à retenir l'attention. Cependant, les risques de sécurité découverts jusqu'à présent sont très insignifiants, et l'équipe de développement Java affirme également qu'elle prend très au sérieux les bogues de sécurité du système et qu'elle corrigera immédiatement ceux découverts. Et comme Sun a dévoilé les détails de l'interpréteur Java, il aide toutes les parties à découvrir, prévenir et arrêter conjointement ces risques de sécurité.
10. C'est un langage dynamique
Java est un langage dynamique, ce qui signifie sous les deux aspects suivants :
1) en En Java langage, vous pouvez simplement et intuitivement interroger les informations d'exécution
2) Un nouveau code peut être ajouté à un programme en cours d'exécution ;
11. Langage objet neutre
"Le compilateur Java génère un format de fichier objet neutre." Autrement dit, le compilateur Java passe après la pseudo-compilation, un " Un bytecode neutre" indépendant de tout système informatique sera généré. Cette structure neutre n'est pas réellement la première du genre en Java. Avant l'avènement de Java, le système UCSD Pascal avait déjà fait cela dans un produit commercial. De plus, il existait un précédent pour cette approche avant l'implémentation de UCSD Pascal. par Niklaus Wirth Cette méthode de réduction de certaines performances en échange d'une meilleure portabilité et polyvalence est adoptée dans le langage Pascal. Le bytecode de Java a fait l'objet de nombreuses conceptions soignées, ce qui le rend parfaitement compatible avec les systèmes informatiques les plus populaires aujourd'hui, peut être facilement interprété sur n'importe quelle machine et peut être facilement traduit dynamiquement en code machine.
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!