Maison  >  Article  >  développement back-end  >  Analyse et comparaison de Java et php

Analyse et comparaison de Java et php

小云云
小云云original
2018-03-20 13:47:461571parcourir

Cela fait un moment que je suis passé du développement PHP au développement Java. Je reviens de la réunion annuelle d'Alibaba et j'ai fait un long voyage en train à grande vitesse, j'ai donc discuté avec mes collègues de la comparaison entre Java et PHP. Question : Java a l'interprétation et l'exécution et JIT, et PHP a l'opcode Si l'opcode de PHP est compilé, ou si le code source Java est directement interprété et exécuté, Java et PHP seront-ils identiques ?

R : Tout d'abord, la différence entre Java et PHP ne réside pas seulement dans cet aspect. PHP est un langage dynamique, Java est un langage statique. Le type de données de PHP est certainement variable. consommation de performances dans la détection des types de variables. Cela prolongera le processus d’exécution du programme. Si Java est directement interprété et exécuté, vous ne pourrez pas profiter des puissantes fonctions sous-jacentes de jvm, et si l'environnement du système serveur change, le code machine généré par le fichier source Java risque de ne pas être exécuté. Si PHP est compilé en opcode à l'avance, PHP perdra la fonctionnalité selon laquelle les modifications prendront effet immédiatement, et le gain dépassera la perte.

Pourquoi Java est-il meilleur que PHP :

L'éditeur prend mieux en charge Java que PHP, comme le renommage unifié, ce qui est bénéfique pour la maintenabilité du programme

Java Le ; La classe pojo peut rendre l'écriture du programme plus pratique et contrôlable, et vous pouvez utiliser les fonctions de l'éditeur pour effectuer un traitement pratique

PHP est un langage dynamique, donc le type des variables est incertain avant l'exécution. des variables doivent être déterminées pendant l'exécution, ce qui consomme une certaine quantité de performances ;

php détruira les ressources après avoir terminé une requête, ce qui entraînera de nombreuses ressources qui ne pourront pas être réutilisées, et l'attribut statique de Java existera toujours. .En mémoire, elles ne seront pas détruites à la fin de la requête. Les variables locales sous la ou les méthodes principales cohérentes avec le service ne seront pas détruites à la fin de la requête. Grâce à cette fonctionnalité, Spring réalise l'injection automatique dans le projet. les objets sont créés pendant la phase de démarrage. Bien que la mémoire augmente, il n'est pas nécessaire de recharger et d'initialiser toutes les ressources à chaque requête comme PHP. Java peut très bien implémenter le pooling de connexions de cette manière, tandis que PHP est difficile à implémenter le pooling de connexions et PHP ne peut même pas implémenter le mode singleton. C'est peut-être la principale raison pour laquelle des entreprises comme Alibaba et JD.com ont abandonné PHP. Dans un environnement à forte concurrence, Java devrait être bien supérieur à PHP, et PHP est plus adapté aux projets de petite et moyenne taille.

Exceptions Java Le mécanisme est plus complet que celui de php, ce qui rend Java plus stable

La construction de l'environnement de php est plus compliquée, nginx, apache et php doivent tous être configurés ; , compilé et installé. Pour springboot de java, vous pouvez directement télécharger le code pour démarrer le projet ;

L'ensemble de l'écosystème Java est plus complet. Les logiciels sources sont tous implémentés en Java, tandis que PHP est principalement un logiciel open source qui repose sur l'implémentation du langage C ;

Le cache local de Guava peut mettre en cache les données qui nécessitent à l'origine des E/S, réduisant ainsi l'utilisation des E/S, tandis que la mise en cache PHP repose essentiellement sur. caches distribués tels que Memcache et Redis, et il y aura toujours beaucoup de consommation d'E/S, même s'il est utilisé. Certaines extensions peuvent mettre en cache des ressources localement, mais comme PHP est multi-processus, il consommera certainement plus de performances que Java multi-thread ;

La fonctionnalité de PHP consistant à détruire toutes les ressources lorsqu'elles sont épuisées rend impossible le maintien de connexions longues. Bien que le framework swoole actuel puisse effectuer des connexions longues, il ne peut toujours pas rivaliser avec les langages compilés en termes de performances.

Pourquoi PHP existe toujours :

Bien que Java présente de nombreux avantages, il n'a pas autant d'exigences pour les projets de petite et moyenne taille. PHP peut être utilisé pour développer et réaliser rapidement des projets.

Recommandations associées :

Comparaison de Java et PHP

Java et PHP implémentent l'interopérabilité du cryptage RSA

Comparaison de Java et PHP dans le développement Web_Tutoriel 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn