SlideShare a Scribd company logo
漫 谈 PHP 和 JAVA Sulong.info
漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习 四、 协作 五、 举例
漫 谈 PHP 和 JAVA 一、 语言
面向的 领域不同 Java 跨平台的通用程序 语言,主要应用于商业应用,嵌入式设备等
Java 的 应用领域 目前,采用   Java  的 设备已超过   45  亿,其中包括: 8  亿多台个人计算机 21  亿部移动电话以及其他手持式设备(来源: Ovum ) 35  亿个智能卡 以及机 顶盒、打印机、网络照相机、游戏、汽车导航系统、彩票终端、医疗设备、收费站等。 —— 以上信息来自   http://www.java.com/zh_CN/about/
面向的 领域不同 Php 为 web 而生, 专精于 web , web 第一 语言
详细对比 都跨平台 同 样的受欢迎 PHP JAVA 解 释型 编译型 动态类型 静 态类型 混合 过程式和面向对象 面向 对象 没有名称空 间 复 杂的名称空间 弱 类型 ? 强类型
同 样受欢迎
Php 的特点 没有名称空 间,不需要导入,内置函数直接可用 PHP mysql_connect Mysql_fetch_array ftp_get  PDF_open_file … JAVA Import javax.servlet.* Import javax.jms.* Import java.util.* … . Java 默 认只导入 java.lang 包内非常基本的功能 java se  的功能也 远没有 php 发行包强大
Php 的特点 拥有丰富而实用的内置函数 —— 数百个内置函数几乎涵盖了 web 编程的方方面面,不需要导入就可以直接使用 PHP 就是瑞士 军刀!
Php 的特点 解 释执行,修改后就可以看到效果 不需 编译!
Php 的特点 灵活 强大的 Array $earth = array( “ 大洲” =>array( “ 亚洲” =>array( “ 中国” =>array( “ 人口” =>”13 亿” , “ 领土” =>”960 万” ) ) ) ) 不需要 总是定义类来表示数据!
Php 的特点 讨论:   你 觉得 PHP 还有什么特点?
Java 的特点 Jvm 运行快
Java 的特点 一切都是 对象 Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object
Java 的特点 由于 java 的快速和面向 对象, java 程序往往使用大量(成百上千)的 类,函数堆栈数十层!相比之下 php 扁平化得多。
Java 的特点 标准化,一个标准 , 众多 实现 标准名 实现 jvm Sun jvm,IBM jvm,Oracle jrokit,Open jdk,Microsoft jvm … Java ee application server Glassfish, jboss, tomcat, weblogic,websphere,resin…  Jms Activemq, ibm mq, jboss mq … … …
Java 的特点 被 业界支持
Java 的特点 讨论:   你 觉得 Java 还有什么特点?
漫 谈 PHP 和 JAVA 一、 语言 二、运作机制
运作机制 Php 为每个请求重新创建资源,并在 请求结束后释放所有资源 。 Php 在 语言级别上没有能力直接在两次请求间保持数据。
Php 运作机制
Java 运作机制 Jvm 常 驻内存 ,用一个 进程,多个线程来处理所有请求,资源的释放由 JVM 和程序自行控制。
Java 运作机制
运作机制 Php:  我 们为每个苹果制造一个刀子,削完了苹果,扔掉刀子 Java:  我 们制造一个刀子削所有的苹果,削完一个苹果接着削下一个 看一个例子
运作机制 讨论:   Java 和 PHP 在 Http Session  的 实现机制上有什么差别?
运作机制 这种差别带来的结果 PHP JAVA 资源在页面处理完成后被释放,所以 不太容易 资源泄漏 程序 员更轻松 资源由 JVM 和程序 员负责释放 比 PHP 容易 导致泄漏 程序 员责任更大 每次都要重建运行 时环境,所以 程序不能太复 杂,否则代价太大 不容易构建中 间件 修改在下次 请求被处理时就生效 不需要每次重建,所以 可以构建极 为复杂的程序 容易构建中 间件 需要重新启 动才能生效 缺少本地内存 缓存机制,所以 依 赖 memcache 无状 态风格 集群 时不需要考虑状态复制 具有本地内存 缓存 有自己的 缓存,但是管理缓存很复杂 常常使用有状 态风格 有状 态时,集群需要状态复制 标准化不足 和具体 环境耦合,不利于重用 缺少 备选方案 标准化 对具体环境依赖较小,有利于重用 有充足的 备选方案
PHP 程序 员和 Java 程序 员 Php 程序 员   用直 观,快速,简单的方式解决问题,注重于结果 Java 程序 员 注重 积累和重用,注重于过程,有时过度设计
漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习
PHP 程序 员和 Java 程序 员 Php 程序 员   创造出了大量的优秀 web 应用程序 :phpmyadmin,wordpress,joomla… Java 程序 员 制造了大量用来解决 问题的工具和组件
Java 程序 员应该向 php 学 习 一 边写代码,一边反复测试代码 学 习更多的前端的知识,保证能做出“能用”的产品,最好做出“好用”的产品
互相学 习 Java 轻量化: jre 的体 积缩小 简单化: java ee  使用越来越方便,各种框架越来越 简单 平台化:成 为平台,给其它语言提供运行环境,比如   jruby, jython, quercus
互相学 习 Php 逐 渐采用面向对象 注意 积累,制造很多优秀框架 Codeigniter Cakephp Yii
MVC MVC 是 php 和 java 之 间互相学习的例子 Struts 把 MVC 在 web 领域的应用推广开来 Ruby On Rails  把 MVC 发挥到极致 PHP 涌 现了大量的 MVC 的框架
MVC 典型的 MVC
MVC Front End Controller MVC Front End Controller Controller View Model front End Controller 是程序的入口,决定之后运行哪个 controller
互相学 习 Struts 1
互相学 习 Codeigniter flow chart
互相学 习 Struts 2
互相学 习 讨论: 为什么要用 MVC ? MVC 有什么不足?
漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习 四、 协作
协作 各取所 长 让灵活的 php 处理多变的用户界面和交互 让稳定可靠的 java 处理繁琐的业务逻辑
协作 目前我 们采用的方式 用 户 PHP Java HTTP HTTP SOAP
协作 Http 简单直观 需要更多的 编码工作 SOAP 标准 复 杂, java 和 php 对 soap 的 实现有差别
协作 Querqus Php 被 编译成 java 的字 节码在 JVM 执行 兼容 PHP 的 语法和绝大部分函数库 保留 PHP 的 动态能力 让 PHP 可以使用 JAVA 的功能:   Thread Java messaging service Database connection pool In memory cache
协作 了解一下 Servlet 的工作机制
协作 Querqus  模式 Querqus Servlet 处理 url 以 .php 结尾的 http 请求 Querqus servlet 解 释对应的 php 文件 Php 通 过 jdbc 访问数据库 Urlrewrite 有 java 的 Servlet filter 实现
协作 Quercus 目 录结构
协作 Querqus  模式 OS PHP JVM Querqus JAVA
漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习 四、 协作 五、 举例
举例 看例子
Q&A
GAME OVER

More Related Content

Viewers also liked (20)

PPSX
open office
guest2956cc80
 
PDF
201505 CSE340 Lecture 04
Javier Gonzalez-Sanchez
 
PDF
201506 CSE340 Lecture 11
Javier Gonzalez-Sanchez
 
PPT
Diego Ernesto Leal
Luis Fernando Guggenberger
 
PPT
Syndrome metabolique et maladies vasculaires
sfa_angeiologie
 
PPT
Thirst Upload 800x600 1215534320518707 8
andrearsya
 
PPT
Chapter 11
dphil002
 
PDF
201107 ICALT
Javier Gonzalez-Sanchez
 
PDF
199912 outsight
Javier Gonzalez-Sanchez
 
PPT
Jay Cross Vivo Versao Final Corrigida
Luis Fernando Guggenberger
 
PDF
Developing distributed analysis pipelines with shared community resources usi...
Brad Chapman
 
PDF
201506 CSE340 Lecture 19
Javier Gonzalez-Sanchez
 
PDF
Thehub bocconi law
The Hub Milan
 
PPT
VU 19 Nov 09
Henk van der Berg
 
PPT
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...
Jackson Bond
 
PPT
악플과 악플의 재생산
JaeGeun Kim
 
PDF
Thehub euromed
The Hub Milan
 
PPSX
Cluster 13
etalcomendras
 
PPT
Demonstration Presentation
Emily Reyes
 
PDF
Lowering barriers to publishing biological data on the web
Brad Chapman
 
open office
guest2956cc80
 
201505 CSE340 Lecture 04
Javier Gonzalez-Sanchez
 
201506 CSE340 Lecture 11
Javier Gonzalez-Sanchez
 
Diego Ernesto Leal
Luis Fernando Guggenberger
 
Syndrome metabolique et maladies vasculaires
sfa_angeiologie
 
Thirst Upload 800x600 1215534320518707 8
andrearsya
 
Chapter 11
dphil002
 
199912 outsight
Javier Gonzalez-Sanchez
 
Jay Cross Vivo Versao Final Corrigida
Luis Fernando Guggenberger
 
Developing distributed analysis pipelines with shared community resources usi...
Brad Chapman
 
201506 CSE340 Lecture 19
Javier Gonzalez-Sanchez
 
Thehub bocconi law
The Hub Milan
 
VU 19 Nov 09
Henk van der Berg
 
Mobile Social Media, Sept. 2010, Do You Want To Be Visible?, Marketing Club K...
Jackson Bond
 
악플과 악플의 재생산
JaeGeun Kim
 
Thehub euromed
The Hub Milan
 
Cluster 13
etalcomendras
 
Demonstration Presentation
Emily Reyes
 
Lowering barriers to publishing biological data on the web
Brad Chapman
 

Similar to 漫谈php和java (10)

PPT
基于架构的开发模式
thinkinlamp
 
PPT
Java 1(Java概述)
xzdbd
 
PPTX
Thrift
jiaqing zheng
 
PPTX
About Thrift
jiaqing zheng
 
PDF
Nodejs介绍
myzykj
 
PDF
给学习J2 Ee的朋友一些值得研究的开源项目
yiditushe
 
PDF
Effective.enterprise.java中文版
Peter Fan
 
PPT
beidakejian
hanxuebing
 
PDF
J Ruby和Rails 让Ruby语言融入Java项目
George Ang
 
PDF
大话Php之性能
liqiang xu
 
基于架构的开发模式
thinkinlamp
 
Java 1(Java概述)
xzdbd
 
About Thrift
jiaqing zheng
 
Nodejs介绍
myzykj
 
给学习J2 Ee的朋友一些值得研究的开源项目
yiditushe
 
Effective.enterprise.java中文版
Peter Fan
 
beidakejian
hanxuebing
 
J Ruby和Rails 让Ruby语言融入Java项目
George Ang
 
大话Php之性能
liqiang xu
 
Ad

漫谈php和java

  • 1. 漫 谈 PHP 和 JAVA Sulong.info
  • 2. 漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习 四、 协作 五、 举例
  • 3. 漫 谈 PHP 和 JAVA 一、 语言
  • 4. 面向的 领域不同 Java 跨平台的通用程序 语言,主要应用于商业应用,嵌入式设备等
  • 5. Java 的 应用领域 目前,采用 Java 的 设备已超过 45 亿,其中包括: 8 亿多台个人计算机 21 亿部移动电话以及其他手持式设备(来源: Ovum ) 35 亿个智能卡 以及机 顶盒、打印机、网络照相机、游戏、汽车导航系统、彩票终端、医疗设备、收费站等。 —— 以上信息来自 http://www.java.com/zh_CN/about/
  • 6. 面向的 领域不同 Php 为 web 而生, 专精于 web , web 第一 语言
  • 7. 详细对比 都跨平台 同 样的受欢迎 PHP JAVA 解 释型 编译型 动态类型 静 态类型 混合 过程式和面向对象 面向 对象 没有名称空 间 复 杂的名称空间 弱 类型 ? 强类型
  • 9. Php 的特点 没有名称空 间,不需要导入,内置函数直接可用 PHP mysql_connect Mysql_fetch_array ftp_get PDF_open_file … JAVA Import javax.servlet.* Import javax.jms.* Import java.util.* … . Java 默 认只导入 java.lang 包内非常基本的功能 java se 的功能也 远没有 php 发行包强大
  • 10. Php 的特点 拥有丰富而实用的内置函数 —— 数百个内置函数几乎涵盖了 web 编程的方方面面,不需要导入就可以直接使用 PHP 就是瑞士 军刀!
  • 11. Php 的特点 解 释执行,修改后就可以看到效果 不需 编译!
  • 12. Php 的特点 灵活 强大的 Array $earth = array( “ 大洲” =>array( “ 亚洲” =>array( “ 中国” =>array( “ 人口” =>”13 亿” , “ 领土” =>”960 万” ) ) ) ) 不需要 总是定义类来表示数据!
  • 13. Php 的特点 讨论: 你 觉得 PHP 还有什么特点?
  • 14. Java 的特点 Jvm 运行快
  • 15. Java 的特点 一切都是 对象 Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object Object
  • 16. Java 的特点 由于 java 的快速和面向 对象, java 程序往往使用大量(成百上千)的 类,函数堆栈数十层!相比之下 php 扁平化得多。
  • 17. Java 的特点 标准化,一个标准 , 众多 实现 标准名 实现 jvm Sun jvm,IBM jvm,Oracle jrokit,Open jdk,Microsoft jvm … Java ee application server Glassfish, jboss, tomcat, weblogic,websphere,resin… Jms Activemq, ibm mq, jboss mq … … …
  • 18. Java 的特点 被 业界支持
  • 19. Java 的特点 讨论: 你 觉得 Java 还有什么特点?
  • 20. 漫 谈 PHP 和 JAVA 一、 语言 二、运作机制
  • 21. 运作机制 Php 为每个请求重新创建资源,并在 请求结束后释放所有资源 。 Php 在 语言级别上没有能力直接在两次请求间保持数据。
  • 23. Java 运作机制 Jvm 常 驻内存 ,用一个 进程,多个线程来处理所有请求,资源的释放由 JVM 和程序自行控制。
  • 25. 运作机制 Php: 我 们为每个苹果制造一个刀子,削完了苹果,扔掉刀子 Java: 我 们制造一个刀子削所有的苹果,削完一个苹果接着削下一个 看一个例子
  • 26. 运作机制 讨论: Java 和 PHP 在 Http Session 的 实现机制上有什么差别?
  • 27. 运作机制 这种差别带来的结果 PHP JAVA 资源在页面处理完成后被释放,所以 不太容易 资源泄漏 程序 员更轻松 资源由 JVM 和程序 员负责释放 比 PHP 容易 导致泄漏 程序 员责任更大 每次都要重建运行 时环境,所以 程序不能太复 杂,否则代价太大 不容易构建中 间件 修改在下次 请求被处理时就生效 不需要每次重建,所以 可以构建极 为复杂的程序 容易构建中 间件 需要重新启 动才能生效 缺少本地内存 缓存机制,所以 依 赖 memcache 无状 态风格 集群 时不需要考虑状态复制 具有本地内存 缓存 有自己的 缓存,但是管理缓存很复杂 常常使用有状 态风格 有状 态时,集群需要状态复制 标准化不足 和具体 环境耦合,不利于重用 缺少 备选方案 标准化 对具体环境依赖较小,有利于重用 有充足的 备选方案
  • 28. PHP 程序 员和 Java 程序 员 Php 程序 员 用直 观,快速,简单的方式解决问题,注重于结果 Java 程序 员 注重 积累和重用,注重于过程,有时过度设计
  • 29. 漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习
  • 30. PHP 程序 员和 Java 程序 员 Php 程序 员 创造出了大量的优秀 web 应用程序 :phpmyadmin,wordpress,joomla… Java 程序 员 制造了大量用来解决 问题的工具和组件
  • 31. Java 程序 员应该向 php 学 习 一 边写代码,一边反复测试代码 学 习更多的前端的知识,保证能做出“能用”的产品,最好做出“好用”的产品
  • 32. 互相学 习 Java 轻量化: jre 的体 积缩小 简单化: java ee 使用越来越方便,各种框架越来越 简单 平台化:成 为平台,给其它语言提供运行环境,比如 jruby, jython, quercus
  • 33. 互相学 习 Php 逐 渐采用面向对象 注意 积累,制造很多优秀框架 Codeigniter Cakephp Yii
  • 34. MVC MVC 是 php 和 java 之 间互相学习的例子 Struts 把 MVC 在 web 领域的应用推广开来 Ruby On Rails 把 MVC 发挥到极致 PHP 涌 现了大量的 MVC 的框架
  • 36. MVC Front End Controller MVC Front End Controller Controller View Model front End Controller 是程序的入口,决定之后运行哪个 controller
  • 40. 互相学 习 讨论: 为什么要用 MVC ? MVC 有什么不足?
  • 41. 漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习 四、 协作
  • 42. 协作 各取所 长 让灵活的 php 处理多变的用户界面和交互 让稳定可靠的 java 处理繁琐的业务逻辑
  • 43. 协作 目前我 们采用的方式 用 户 PHP Java HTTP HTTP SOAP
  • 44. 协作 Http 简单直观 需要更多的 编码工作 SOAP 标准 复 杂, java 和 php 对 soap 的 实现有差别
  • 45. 协作 Querqus Php 被 编译成 java 的字 节码在 JVM 执行 兼容 PHP 的 语法和绝大部分函数库 保留 PHP 的 动态能力 让 PHP 可以使用 JAVA 的功能: Thread Java messaging service Database connection pool In memory cache
  • 46. 协作 了解一下 Servlet 的工作机制
  • 47. 协作 Querqus 模式 Querqus Servlet 处理 url 以 .php 结尾的 http 请求 Querqus servlet 解 释对应的 php 文件 Php 通 过 jdbc 访问数据库 Urlrewrite 有 java 的 Servlet filter 实现
  • 48. 协作 Quercus 目 录结构
  • 49. 协作 Querqus 模式 OS PHP JVM Querqus JAVA
  • 50. 漫 谈 PHP 和 JAVA 一、 语言 二、运作机制 三、互相学 习 四、 协作 五、 举例
  • 52. Q&A