Maison > Article > développement back-end > Que sont Java et PHP
Java est un langage de programmation orienté objet à usage général conçu pour générer du code qui peut être utilisé de la même manière partout ; il prend en charge à la fois le côté serveur et le côté client. PHP, « Hypertext Preprocessor », est un langage de script généraliste open source, orienté objet, interprété, indépendant de l'architecture, portable et dynamique, principalement adapté au domaine du développement Web.
L'environnement d'exploitation de ce tutoriel : système Windows7, version PHP7.1&&java8, ordinateur DELL G3
Qu'est-ce que Java ?
Java est un langage de programmation orienté objet à usage général conçu pour générer du code qui peut être utilisé de la même manière partout. Ce langage de programmation est basé sur les classes, orienté objet et lisible par l'homme. Il prend en charge à la fois le côté serveur et le côté client.
Java peut être à la fois compilé et interprété. Le compilateur Java convertit le code source en bytecode, puis l'interpréteur Java génère du code machine, qui est directement exécuté par la machine exécutant le programme Java. C'est fiable, distribué et portable. Il peut être utilisé pour développer des applications autonomes ou des applications Web.
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 multithread 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.
Qu'est-ce que php ?
PHP (nom étranger : PHP : Hypertext Preprocessor, nom chinois : "Hypertext Preprocessor") est une architecture open source générale, simple, orientée objet, interprétée, robuste, sûre, performante. Une architecture de très haut niveau. -langage de script indépendant, portable et dynamique.
PHP est un langage de script exécuté côté serveur. Il est similaire au langage C et est un langage de programmation de sites Web couramment utilisé. La syntaxe unique de PHP mélange la syntaxe C, Java, Perl et PHP. Il est propice à l’apprentissage et largement utilisé. Il convient principalement au domaine du développement web.
PHP a été influencé par différents langages de programmation tels que Perl, C++, C, Tcl et Java. Il est principalement développé et implémenté en utilisant le langage de programmation C et certaines fonctionnalités du langage de programmation C++. PHP prend en charge différents systèmes d'exploitation multiplateformes tels que Windows et les systèmes de type UNIX.
Les systèmes de gestion de contenu les plus populaires utilisent PHP, qui est actuellement considéré comme l'environnement d'exécution le plus ancré sur les serveurs ; offrant aux fournisseurs d'hébergement de meilleures notes et une meilleure accessibilité pour les moteurs de recherche.
Comparaison de java et php
1. Mécanisme d'exécution :
Une fois le code Java compilé en bytecode, il sera recompilé en code local par JIT dans la machine virtuelle. La vitesse d'exécution est comparable à celle du C++. Après mes propres tests, j'ai implémenté un simple serveur de cache de protocole Memcache en Java et je l'ai exécuté sous Java 1.6. Par rapport à Memcache lui-même, le rapport de temps d'accès pour la même quantité de données est d'environ 3:2. , même s'il y a un écart, c'est bien mieux qu'on ne l'imaginait. Java 1.7 a apporté de nombreuses améliorations à JIT et ses performances sont encore meilleures que Java 1.6.
PHP interprète et exécute directement les codes texte Même avec la technologie de mise en cache des opcodes, il existe toujours un écart de performances insurmontable. L'opcode de PHP est similaire au bytecode de classe Java, qui est toujours interprété et exécuté.
2. Concurrence de traitement :
Java adopte une approche multi-thread à processus unique pour le traitement simultané. L'application Web démarrera au démarrage du serveur Web et les requêtes du navigateur Web seront allouées au serveur Web. pool de threads. Le traitement des threads inactifs signifie que lorsqu'une requête arrive, le processus est prêt, le thread est prêt et tout ce que Java a à faire est le traitement de la logique métier.
PHP adopte une approche multi-processus pour le traitement simultané. Il n'y a pas de concept physique d'application web dans le serveur web. Chaque requête est équivalente à une application indépendante, et le processus démarre à l'arrivée de la requête. fin de la demande. Dans l'environnement Fast CGI, il existe une technologie de pool de processus similaire au pool de threads, ce qui est très utile pour améliorer les performances. Cependant, d'une part, la communication entre le serveur Web et Fast cgi doit toujours passer par des sockets, ce qui entraîne une certaine perte d'E/S. D'autre part, il est également difficile de communiquer entre les processus du pool de processus. il est donc toujours incapable de se comparer à Java en termes de traitement simultané.
3. Application de base de données :
Java peut utiliser la technologie de pool de connexion à la base de données pour gagner du temps causée par le processus de connexion à la base de données.
PHP n'a pas cet avantage, la raison vient du deuxième point ci-dessus.
En termes d'interface de base de données, Java a JDBC et PHP a PDO. Les deux sont très similaires. Cependant, Java dispose de nombreux frameworks technologiques ORM (tels qu'Hibernate) qui rendent les opérations de base de données extrêmement simples, et la façon dont PHP s'exécute détermine qu'il s'agit d'une zone restreinte pour ORM (bien sûr, vous pouvez également utiliser ORM, mais dans quelle mesure vous peut le faire, cela dépend de votre ORM (déterminé par la tolérance de la perte de performances causée).
La raison spécifique est que php ne peut pas enregistrer les variables globales. Bien qu'il existe des variables statiques dans la classe php, cette variable sera supprimée de la mémoire une fois la requête http terminée, mais les variables statiques de Java peuvent toujours exister dans la mémoire. milieu. De cette façon, PHP ne peut pas utiliser la technologie "pool", car les données du pool ne peuvent pas être sauvegardées
4 Technologie de mise en cache
Java est un processus unique, et de nombreux caches peuvent être effectués directement dans le tas Java sans. l'aide d'outils externes, bien sûr, dispose également de bons cadres de mise en cache, tels que Ehcache, qui a de très hautes performances car il n'y a pas d'E/S réseau.
Le multi-processus et le monothread de PHP déterminent qu'il ne peut utiliser que des serveurs de cache externes, tels que Memcache.
5. Déploiement à chaud
La capacité de déploiement à chaud de Java est très faible si vous souhaitez corriger un bug sans. arrêter le serveur, ce sera très difficile à faire.
Déploiement naturel à chaud de PHP.
6. Coût de développement
Un bon programmeur Java nécessite plus de réserves de connaissances, le cycle de développement et de débogage est plus long et de meilleurs serveurs Web sont également facturés.
PHP est gratuit, et le serveur web est également gratuit.
7. Sécurité
Cela dépend de la façon dont vous définissez la sécurité. S'il s'agit de sécurité du code, il est facile de décompiler la classe Java. À cet égard, les deux sont presque identiques.
Java dispose d'un mécanisme de configuration de sécurité pour garantir que certaines "opérations illégales" ne peuvent pas être exécutées. À cet égard, PHP est plus faible.
Cependant, Java peut facilement provoquer le crash de l'ensemble de l'application à cause d'un BUG, alors que PHP est beaucoup plus sûr.
En fait, Java présente de nombreux avantages, mais seuls les trois derniers peuvent inciter les décideurs à choisir PHP au lieu de Java.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!