當前位置:編程學習大全網 - 源碼下載 - 有人能詳細說明PHP和JAVA的區別嗎...

有人能詳細說明PHP和JAVA的區別嗎...

目前市場上的oa基本可以分為兩大陣營,分別是php陣營和java陣營。但是對於接觸oa時間不長的用戶來說,看到的往往只是外觀和明顯的價格差異,而很難看到兩者之間的實際差異。其實呢?PHP?+?MYSQL?不值錢不僅限於oa軟件,而是PHP整體?+?MYSQL開發的軟件都沒有java開發的有價值。為什麽選擇PHP?+?MYSQL?OA為什麽不值錢?妳必須先了解php和java的區別。

1,系統技術架構對比

分層是壹種有效組織系統的方式,分而治之的思想是計算機領域非常重要的思想。在良好的分層思維指導下,可以做到“高內聚、低耦合”,將具體問題分離出來,便於控制、擴展和分配資源。PHP只能實現簡單的分布式兩層或者三層架構,而JAVA在這方面非常強大,可以實現多層網絡架構。使用MVC設計模式可以使oa系統有壹個更高效、更合理的系統架構。落後的技術架構使得php編寫的oa軟件系統先天不足,後天無法彌補其先天劣勢。該系統與JAVA編寫的oa軟件系統在擴展性和需求適應性上的差距越來越大。架構上的差距註定了php做出來的oa充其量是個小家碧玉,永遠比不上java這樣的好人家。

2、數據庫訪問比較

PHP可以用連接到很多數據庫的函數來編譯。我會自己寫外圍函數來間接訪問數據庫。這樣,當所使用的數據庫改變時,可以容易地修改編碼以適應這樣的改變。但是PHP提供的數據庫接口支持彼此並不統壹,比如對於Oracle,?MySQL和Sybase的接口互不相同。由於PHP對不同的數據庫使用不同的數據庫訪問接口,所以數據庫訪問代碼的通用性不強。

Java通過JDBC訪問數據庫,通過不同數據庫廠商提供的數據庫驅動程序訪問數據庫比較方便,訪問數據庫的界面也比較統壹。如果開發的web應用也是從MYSQL數據轉換成ORACLE數據,PHP需要做大量的修改工作,而且比較繁瑣。但是JAVA開發出來的東西,只需要很少的改動就可以實現。

數據庫訪問方式的不同,確立了php開發的oa和java開發的oa是車廂和火車的差距。前者只能跟風,配額有限,後者是工業化的結晶,既能容納壹切又能穩步提高速度。

3.安全性比較

在既開源又跨平臺的java面前,php失去了很多優勢。尤其是在代碼的安全性方面。php的開發程序在別人拿到代碼後可以很容易的修改。而java開發的程序因為看不到完整的源代碼,只能看到壹些編譯好的類文件,所以安全性很高。再加上系統架構的優勢,php和java在安全性上相差甚遠。

如果非要對比php和java的安全性,同壹個小偷光顧php,就是想拿什麽就拿什麽,隨便改改,還能帶著很大的快感逛壹輝。當妳遊覽爪哇時,妳會發現有警察在守衛它,而且裏面有自動報警裝置,即使妳突破了許多障礙進入房間。值錢的東西都放在加密的保險櫃裏,只能望洋興嘆,衣錦還鄉。

4.前瞻性和發展性

總的來說,php適合中小型系統,java適合大型系統。Php可以做好單個事件,但不適合完成多個高集成度的並發事件。為什麽php適合中小型系統而不適合大型系統?

首先,Php缺乏多層結構支持。對於大型系統負載站點,只能使用分布式計算。數據庫、應用邏輯層和表現邏輯層相互分離,同壹層的流量分離形成二維數組。而php恰恰缺少這種支持。

其次,PHP提供的數據庫接口並不統壹,要統壹多個不同的數據庫數據需要付出很大的努力。而JAVA則沒有這個缺陷,可以通過SUN訪問?Java。Java?通過EJB/CORBA和許多廠商的應用,Class和EJB得到規模支持?服務器獲得結構支持。比如IBM的電子商務,其核心是使用JSP/Servlet的Web?CGI支持Sphere。

如果把Php比作壹個將軍,妳就有了獨當壹面的能力。然後java是個帥才,有很好的預見性和擴展性,整體布局和協同性很強。能統率千軍萬馬,最終逐鹿中原。

5.開發成本比較

既然php在很多方面都不如java,那麽php開發的oa產品如何與java產品競爭?原因是Php陣營壹般走低端路線,java陣營走高端路線。兩者的交集面積很小。

軟件的價格很大程度上與其自身的成本和功能掛鉤。php的入門門檻較低,大部分學過C的程序員都可以輕松轉型成為php程序員,這使得php程序員泛濫,而低成本的php軟件產品層出不窮。用PHP最經典的組合?+?MySQL?+?以Apache為例,由於所有軟件都是開源免費的,投入並不高。

java開發需要特定的環境,成長為壹名合格的java程序員需要壹定的時間,而Java程序員的成本是php的數倍。Java的web應用服務器都是免費的,比如Tomcat,JBoss,但是如果想有壹個好的商業服務,就必須選擇Web?球體和?Web?邏輯.這項投資的成本實際上是php的n倍。所以用java開發oa的成本要遠遠高於用php開發的同類軟件產品。但由於java開發成本高,難以實現抄襲和短期超越的可能,也使得用java開發的產品門檻更高。

不怕不識貨,就怕貨比三家。Php開發的產品也可以用,但是比不上java開發的同類產品。正是因為php開發的產品整體性能與java相差甚遠,所以php利用低成本低價格的優勢來對抗同類java產品,用價格差距平衡購買者的心態。所以,PHP?+?MYSQL?OA不值錢不奇怪嗎?

第二種類型

比較PHP和JSP這兩種web開發技術,其實就是比較PHP和Java在目前情況下的Web開發。以下是我在幾個主要方面的對比:

第壹,?語言對比?

Php是壹種解釋執行的服務器腳本語言。首先,php簡單易用。語法類似於C語言,所以學過C語言的程序員可以很快熟悉php的開發。java需要學習Java的語法,熟悉壹些核心類庫,知道面向對象的編程方法。所以java不像php那麽好學。?

Java應該首先被編譯成字節碼。類文件,然後在Java虛擬機上解釋和執行。java web開發首先想到的就是JSP(現在的JSP2.0)。最初的java web開發是通過servlet實現的,需要程序員在java源文件中嵌入大量的html代碼。所以後來出現了jsp,可以很容易的嵌入到html文件中。實際上,JSP文件在服務器上執行時,首先被應用服務器轉換成servlet,然後編譯執行。Jsp可以通過servlet和JavaBean的支持產生強大的功能。JavaBean?是壹個可重用和跨平臺的軟件組件。使用javabean可以很容易地實現java代碼和html的分離,增強系統的功能和軟件的可重用性。?

Java的Web開發屬於SUN公司定義的J2EE規範。而且,J2EE包含了java web開發的方方面面,比如JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE特別適合大型企業應用。?

第二,?數據庫訪問比較?

Java通過JDBC訪問數據庫,通過不同數據庫廠商提供的數據庫驅動程序訪問數據庫很方便。訪問數據庫的界面相對統壹。?

PHP對不同的數據庫使用不同的數據庫訪問接口,所以數據庫訪問代碼不具有通用性。比如壹個用Java開發的web應用,從MySQL數據庫轉移到Oracle數據庫時,只需要很少的修改。另壹方面,PHP需要大量的修改。?

第三,?系統設計架構比較?

使用Java的web開發技術需要面向對象的系統設計方法,而PHP仍然采用面向過程的開發方法。所以用Java開發的前期需要做大量的系統分析和設計工作。?

第四,?跨平臺?

Java和PHP都有很好的跨平臺特性。幾乎所有的都可以在Linux或Windows等不同操作系統上運行,無需任何修改。?

動詞 (verb的縮寫)?開發成本對比?

PHP最經典的組合是:PHP?+?MySQL?+?阿帕奇.非常適合開發中小型web應用,開發速度比較快。而且所有的軟件都是開源免費的,可以減少投資。?

Java的web應用服務器有免費的Tomcat、JBoss等。如果需要更好的商業服務,它們是:Web?球體和?Web?邏輯.?

第六,?分布式多層架構的比較?

PHP只能實現簡單的分布式兩層或三層架構,而JAVA在這方面更強大,可以實現多層網絡架構。數據庫層(持久層)、應用(業務)邏輯層和表現邏輯層是相互分離的,現在不同的層已經得到壹些成熟的開發框架的支持。比如Struts利用java的web開發技術實現MVC設計模式,業務邏輯層也有Spring框架,數據庫持久層也有Hibernate框架。這些框架可以方便開發者高效、合理、科學地構建多層業務應用。?

先簡單說壹下Struts,本質上是在JSP?壹個基於Model2的MVC(模型、視圖、控制器)框架。JSP?Model2架構是聯合使用JSP?用Servlet?以提供動態內容。在Struts框架中,模型由實現業務邏輯的JavaBean或EJB組件組成,控制器由Servlet實現,視圖由壹組JSP文件組成。Struts可以用來定義開發人員和web設計人員之間的角色和分工。而且項目越復雜,優勢越明顯。?

七、?源代碼安全?

php開發的程序源代碼是公開的,別人拿到PHP開發的程序後可以修改。?

Java開發程序,最終用戶得到的只是壹些編譯好的類類,看不到完整的源代碼,安全性高。?

八、性能對比?

有人做過實驗,分別測試這兩種語言的循環性能和對Oracle數據庫的訪問。?

在循環性能測試中,JSP以驚人的4秒結束了20000 * 20000的循環。PHP測試了2000 * 2000個周期(少了壹個數量級),但分別用了63秒。?

在數據庫測試中,它們分別正確嗎?甲骨文?8?繼續嗎?1000?時間?插入、更新、選擇和刪除:?JSP?需要?13?秒,PHP?需要?69?秒

形式?1?PHP?與Java的對比?

PHP?JAVA?

可重復使用?低?高?

發展速度?快?慢?

可維護性?窮?優秀?

便攜性?優秀——Linux,Windows,Unix等?

保安?低?高?

開發成本?低?高?

多層架構?窮?優秀?

數據庫訪問?接口不統壹?統壹界面?

可擴展性?窮?優秀?

面向對象?窮?優秀?

綜上?PHP適合中小型應用系統的快速開發,開發成本低,對變化的需求響應快。Java適合開發大型應用系統,應用前景廣闊,易於維護,復用性好。還有,用Java開發的同樣功能的系統,價格比用PHP開發的要高。

  • 上一篇:RPG Maker XP怎麽做遊戲
  • 下一篇:怎麽寫劇本了?
  • copyright 2024編程學習大全網