• 技术文章 >后端开发 >PHP问题

    java和php是啥

    青灯夜游青灯夜游2021-11-18 10:18:25原创935

    java是一种通用的面向对象编程语言,旨在生成可在任何地方使用相同代码的代码;它支持服务器端和客户端。PHP即“超文本预处理器”,是一种通用开源的、面向对象的、解释型的、独立于架构的、可移植的、动态的脚本语言,主要适用于Web开发领域。

    php入门到就业线上直播课:进入学习

    本教程操作环境:windows7系统、PHP7.1&&java8版、DELL G3电脑

    java是什么?

    Java是一种通用的面向对象编程语言,旨在生成可在任何地方使用相同代码的代码。这种编程语言是基于类的,面向对象的和人类可读的。它支持服务器端和客户端。

    Java既可以编译也可以解释。Java编译器将源代码转换为字节码,然后java解释器生成机器代码,该机器代码由运行java程序的机器直接执行。它可靠,分布式,便携。它可用于开发独立应用程序或基于Web的应用程序。

    Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

    php是什么?

    PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源的、简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。

    PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

    PHP受到了不同编程语言的影响,如Perl,C ++,C,Tcl和Java。它主要是使用C编程语言和C ++编程语言的一些特性开发和实现的。PHP支持不同的跨平台操作系统,如Windows和UNIX类系统。

    大多数流行的内容管理系统都使用PHP,它目前被认为是服务器上最根深蒂固的运行时环境;可以为托管服务提供商提供更好的搜索引擎评级和可访问性。

    java和php的比较

    1、运行机制:

      Java代码被编译成字节码后,会在虚拟机里由JIT进行二次编译成为本地码,据传言其执行速度可以和C++相媲美,经过我自己测试,用Java实现一个简单的Memcache协议的缓存服务器,在Java 1.6下运行,和memcache本身相比,同样数据量的存取时间比大概是3:2,虽然有差距,但是比想象的要好很多。Java 1.7在JIT方面做了大量的改进,性能比Java 1.6还要好。

      PHP是直接对文本代码进行解释执行,即便有opcode缓存技术,仍然有不可逾越的性能鸿沟。PHP的opcode类似于java的class字节码,仍是解释执行。

    2、处理并发:

      Java在并发处理上采取单进程多线程的方式,web应用会随着web server的启动而启动,而来自web 浏览器的请求将被分配给线程池内的闲置线程处理,也就是说当有请求到达的时候,进程是准备好的,线程是准备好的,Java要做的仅仅是业务逻辑处理了。

      PHP在并发处理上时采取多进程的方式,在web server里没有物理的web应用概念,每个请求都相当于一个独立的应用,而进程也随着请求的到达才启动,而随着请求的结束而消亡。在Fast CGI环境下,有类似于线程池的进程池技术,对性能提高有很大的帮助。然而一方面web server和Fast cgi通讯仍需要通过socket,多出了一定的IO损耗,另一方面进程池内的进程间也很难进行通讯,所以在并发处理上仍然无法和Java相比。

    3、数据库应用:

      Java可以采用数据库连接池技术,节省下数据库连接过程带来的时间损失。

      PHP没有这个好处,原因来自上面的第二条。

    在数据库接口上java有JDBC,PHP有PDO,这两个很类似。然而Java有非常多的ORM技术框架(如Hibernate)使数据库操作变得异常简单,而PHP的运行方式决定了它是ORM的禁区(当然也可以做ORM,只是做到什么程度是由你对ORM带来的性能损耗的忍受程度决定的)。

    原因说的具体点,就是php无法保存全局变量,php类中虽然有static变量,但是这个变量在一次http请求结束后就会被从内存中删除掉,但是java的static变量是可以一直存在内存中。这样php就无法使用“池”这种技术,因为无法将池中的数据保存下来

    4、缓存技术

      Java是单进程,很多缓存可以直接在Java的heap中做,而无需借助外在的工具,当然也有很好的缓存框架,比如Ehcache,因为没有网络IO,所以性能非常高。

      PHP多进程单线程决定了它只能借助外来的缓存服务器,比如Memcache.

    5、热部署

      Java的热部署能力很弱,如果希望修个BUG而不停服是很难做到的。

      PHP天然热部署。

    6、开发成本

      一个好Java程序员所需的知识储备更多,开发、调试所需的周期较长,好点的web server也都是收费的。

      PHP免费、web server也免费。

    7、安全性

      这个要看你怎么来定义安全性,如果是代码安全,java class反编译很容易,这点上来说两者差不多。

      Java有安全配置机制可保证一些“非法操作”无法执行,这点上来说PHP较弱。

      然而Java很容易因为一个BUG导致整个应用宕掉,PHP就安全的多。

    其实要说起来Java的好处多多,然而仅仅最后三条就可以让决策者取PHP而弃Java.

    推荐学习:《PHP视频教程

    以上就是java和php是啥的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:java php
    上一篇:php里面不能写js吗 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 遇到一个php错误怎么办• php有意思的函数有哪些• php怎么实现关键字描红• php怎么将2.131转换成整数• php 怎么实现rgb转十六进制
    1/1

    PHP中文网