详细解析Java和PHP到底哪个好!!
现在市场上的电子商务软件基本上可归结为两大阵营,即PHP阵营和JAVA阵营。但对接触电子商务不久的用户来说,
看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。
其实, PHP + MYSQL 不值钱不仅仅局限于电子商务软件,而是整体上PHP + MYSQL开发的软件都不如JAVA开发的软件值钱。
为什么PHP + MYSQL 的电子商务为什么不值钱呢?首先得明白PHP和JAVA之间的差异才行。1、系统的技术架构比较
分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。
在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题 割裂开来,
易于控制、易于延展,更易于分配资源。PHP只能实现简单的分布式两层或三层的架构,
而JAVA在这方面就十分强大,可以实现多层的网络架构。运用MVC的设计模式,可使电子商务软件具有更加高效、
合理的系统架构。技术架构的落后,使运用PHP编写的电子商务软件先天不足,而后天又无法补足其先天上的劣势。
使得系统在可拓展性、需求应变性上与JAVA编写的电子商务软件系统的差距越来越大。
架构的差距,注定了PHP做的电子商务充其量是个小家碧玉,始终无法和JAVA这种大家闺秀同台竞技。2、数据库访问比较
PHP可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。
通过这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。
但PHP提供的数据库接口支持彼此不统一,比如对Oracle,MySQL,SQL2000的接口,彼此都不一样。
由于PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。3、安全性对比
在JAVA的面前,PHP丢掉了很多的优势。在代码的安全性上尤为突出。
PHP的开发程序在别人拿到代码后,可以很容易的进行修改。
而JAVA开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件.class,所以安全性较高。
加之系统架构的优势,在安全性上PHP和JAVA是相去甚远。
如果非要将PHP和JAVA在安全性上做个比较的话,同一个小偷光顾PHP那是随便拿来随便改,想拿什么拿什么,
拿的高兴还能大笔一辉某某到此一游。而光顾JAVA的时候,便会发现警察把守,内设自动报警装置,
即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。4、前瞻性和拓展性
从整体来说,PHP适用于中小型系统,而JAVA适用于大型系统。
PHP能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。
为什么说PHP适合中小型系统而不适合做大系统呢?
首先,PHP缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。
将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。
而PHP恰恰缺乏这种支持。
其次,PHP提供的数据库接口不统一,要将多个不同的数据库数据统一需要花费很大的力气。
而JAVA则没有这种缺陷,可通过SUN JAVA的JAVA Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的
Application Server获得结构支持。如ProBIZ的Merchant one电子商务软件产品系列。
如果将PHP比作将才,具备独挡一方的能力。那么JAVA便是帅才,具有较好的前瞻性和拓展性,
整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。
并且:在运行速度方面,现在java在web端,大量使用了页面静态化技术(freemarker,velocity),
页面运行速度不比php低,尤其这一点,我们都可以再乐视网看出来。
以上就是经验之谈,对大家选择学习的方向很有帮助!
转载于:https://my.oschina.net/morestudy/blog/472421
详细解析Java和PHP到底哪个好!!相关推荐
- java 参数类型不确定_详细解析Java虚拟机的栈帧结构
什么是栈帧? 正如大家所了解的,Java虚拟机的内存区域被划分为程序计数器.虚拟机栈.本地方法栈.堆和方法区.(什么?你还不知道,赶紧去看看<Java虚拟机内存结构及编码实战>)这次要介绍 ...
- 详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...
- 【转】详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...
- 详细解析Java中抽象类和接口的区别(很容易理解错)
2007-09-28 12:17作者:doublel出处:论坛整理责任编辑:方舟 在Java语言中, abstract class 和interface是支持抽象类定义的两种机制.正是由于这两种机制的 ...
- Java中的enum详细解析------Java 语言中 Enum 类型的使用介绍
Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...
- java 内存排序_详细解析Java内存,处理器重排序,编译器重排序以及它对线程的影响...
欢迎大家搜索"小猴子的技术笔记"关注我的公众号,有问题可以及时和我交流. 我们在编写程序的时候有一个编写代码的顺序,那么计算机执行的时候就是按照我们编写代码的顺序来执行的吗?答案是 ...
- Java中的enum详细解析------Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 1.可以在enum中添 ...
- 详细解析java JDBC实现增删改查
目录 实现java数据库的增删改查基本步骤 包与类的结构. 一,与数据库建立连接,驱动包导入. 二,创建实体类(与数据库的属性相一致) 三,创建接口 四,sql语句预编译和执行代码 五,test测试 ...
- 【Kafka笔记】4.Kafka API详细解析 Java版本(Producer API,Consumer API,拦截器等)
简介 Kafka的API有Producer API,Consumer API还有自定义Interceptor (自定义拦截器),以及处理的流使用的Streams API和构建连接器的Kafka Con ...
最新文章
- WIDERFACE 数据集
- 【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )
- sap转换成基本订单单位
- ACCESS中使用存储过程
- C#后台创建Excel文件的那点事儿
- 庖丁解牛TLD(一)——开篇
- software reporter tool占用高_看完这篇DBA工作详解,你觉得平均月薪17000真的高吗?...
- laravel order 按时间升序_Cache and Related Part3: Coherence amp; Order
- SVN工作笔记004---svn查看log提示_offline
- mybatis直接执行sql_拼多多二面:Mybatis是如何执行一条SQL命令的?
- PDF在线阅读开发经验(FlexPaper+SWFTools+SaveAsPDFandXPS)
- 靠模仿红牛成为饮料界的“黑马”,东鹏特饮的未来如何谱写?
- 永久关闭“WPS热点”的显示
- Springboot毕设项目图书馆座位预定系统plo6rjava+VUE+Mybatis+Maven+Mysql+sprnig)
- H3C S6520 配置arp static
- 华为数通模拟器ensp问题解决方法
- MCU_如何通过硬件VID 查找生产厂家
- EOS智能合约开发系列(18): 狼人杀游戏的`eosio.code`
- SAP 收货与发票校验税码
- python 读取txt函数总结