java比php好在哪里,php和java的一些比較

 2023-11-19 阅读 29 评论 0

摘要:現在市場上的電子商務軟件基本上可歸結為兩大陣營,即PHP陣營和Java陣營。但對接觸電子商務不久的用戶來說,看到的往往只是它們的表相,只是明顯的價格差異,卻很難看出它們之間的實際差異。其實,PHP+ MySQL高效的開發、品質優良的特性&#

現在市場上的電子商務軟件基本上可歸結為兩大陣營,即PHP陣營和Java陣營。但對接觸電子商務不久的用戶來說,看到的往往只是它們的表相,只是明顯的價格差異,卻很難看出它們之間的實際差異。其實,PHP+ MySQL高效的開發、品質優良的特性,已經讓風靡大學校園的Java變的越來越難堪。而作為PHP+ MySQL為什么在歷史的進程中,后來居上,獨領風騷呢?為什么基于Java架構的的電子商務除了高額的開發成本,而變的前途暗淡呢?首先得明白PHP和Java之間的差異才行。
1、 出身
Java本來的設計初衷是為了家用消費電子產品開發一個分布式代碼系統。java比php好在哪里、
PHP就是為了互聯網的應用而生的。
  2、系統的技術架構比較
分層是將系統進行有效組織的方式,分而治之的思想是計算機領域中非常重要的思想。在好的分層思想引導下,便能實現“高內聚、低耦合”,也能將具體的問題割 裂開來,易于控制、易于延展,更易于分配資源。從PHP5版本之后,PHP對于系統架構方面也有了質的飛躍。ShopNC?采用PHP語言開發,可以完美的實現多層架構分布。java string 比較。運用MVC的設計模式,可使電子商務軟件具有更加高效、合理的系統架構。使得系統在可拓展性、需求應變性上與Java編寫的電子商務軟件系統的毫不遜色。
Gutmans?在前年發表過一篇文章,其中也闡述了多核環境中多線程(JVM)與多進程(LAMP)的比較。其中就提到了多核系統非常適合LAMP架構的多進程方式。隨著芯片業現在把主要精力都放在了多核而不是超線程技術上,JVM這樣的多線程環境的優點在今天的硬件上將無法充分發揮。國外java php。而多進程方式將提供更多穩定性和可靠性。
這一回合,PHP旗開得勝。
  3、數據庫訪問比較
  PHP可編譯成具有與許多數據庫相連接的函數。 將自己編寫外圍的函數去間接存取數據庫。通過這樣的途徑當更換使用的數據庫時,可以輕松地修改編碼以適應這樣的變化。java equals、同時現在的PHP提供了數據庫統一接 口PDO,對Oracle,MySQL,SQL2000等不同數據庫的訪問都可以通過橋來完成,而不用考慮數據庫接口方面問題。同時為了更好支持?MYSQL數據庫,PHP還推出了MySQLi的數據庫連接,更加高效,安全。而Java是通過JDBC來訪問數據庫,通過不同的數據庫廠商提供的數據庫 驅動訪問數據庫。而沒有特別的針對性優化。如果同樣是將開發的web應用從MYSQL數據數轉到ORACLE數據,PHP通過PDO的接口,幾乎不用做程序方 面的修改(ShopNC中已經通過自主研發的封裝數據庫層,已經可以很好的完成對多種數據庫的支持,甚至無需通過PDO)。java int、而Java開發的需要一定的的 更改才能實現。數據庫訪問方式的差異,奠定了PHP開發出的電子商務軟件和Java開發出來的電子商務軟件是2個時代的差距,Java是傳統的一 代,PHP卻是新科技發展的成果,PHP不僅能夠包容萬物而且速度上穩步提升,效率比Java強悍的多。這一回合,Java稍遜風騷。
  4、安全性對比
  開源是安全的最大優勢,LIUNX?就是一個非常成功的佐證。PHP的開發程序在別人拿到代碼后,可以很容易的進行修改。java入門。而Java開發的程序由于無法看到完整的源代碼,只能看到一些編譯好的類文件.class,所以底層架構的諸多隱患都無法提前預知,一旦發生災難性的錯誤,后果必將及其嚴重。而PHP如果想要加密代碼,也可以使用Zend?公司的權威產品zend guard?進行加密,以保證產品的知識產權。如果非要將PHP和Java在安全性上做個比較的話,只能說伯仲之間,如果出差距,也是由開發程序員的水平來決定的。這一回合,兩者依舊平分秋色。
  5、互聯網應用方向上的前瞻性和拓展性
從整體來說,PHP適用于互聯網應用,而Java語言設計之初,并不是以WEB為中心,而是以通用服務為中心。python和java、PHP能夠將互聯網的應用發揮到淋漓盡致,Java在通過標準的或者非標準的一些框架在迎合WEB應用的需求。
為什么說PHP適合互聯網的應用呢?
  首先,PHP對于大型系統負載方面,可以采用分布式部署。將數據庫、應用邏輯層和表示邏輯層彼此分開,并將同層的根據流量分開。PHP在這個方面做的非常優異。
  其次,PHP提供的數據庫接口眾多且還有統一的接口,要將多個不同的數據庫數據統一,不需要花費很大的力氣。java多線程、而Java也可以通過Class和EJB?獲得規模支持,通過EJB/CORBA以及眾多廠商的ApplicationServer獲得結構支持。而與即有老的Java或者.NET?應用程序通訊方面,PHP可以通過即有的API接口進行通訊。至于數據的通訊所使用的數據無非也都是XML,JSON等。
如果將PHP比作互聯網中的最佳表現獎,具備獨擋一方的能力。那么Java應該獲得的是最沒有創新獎,就如同歐洲中世紀武士,唯有沉重的框架,笨重的效率。java foreach、
難怪連當年的SUN也在其J2EE方案上支持了JRuby及Jython。而IBM Websphere意識到J2EE在WEB方面的不適應而開啟了Project Zero項目。 結果呢??Project Zero?的首席架構師也是很無奈的公開承認“Java現在可以認為只是一種系統語言而不適合構建Web應用”。
其實Java已經在企業級E化和關鍵業務應用中根深葉茂,但是在Web應用上,Java語言市場份額急劇下降,頹勢盡顯。
所以這一回合,Java輸的啞口無言。java和php哪個難學、
6、產品化程度
????用Java做開發,幾乎沒有一個程序員會從底層寫起,因為都是即有封裝的類。這其實是導致Java很難產品化的一個重要原因。因為幾乎所有的程序員可以做 的都是比較淺層的應用開發。而就Java的類而言,放到互聯網上,那只有一個沉重可以形容。而唯一讓Java一直宣稱的跨平臺的優越性,其實那也是對于初 學程序者的一種宣傳,對于資深程序員那就是一個笑話,一條雞肋。java和php哪個是主流。經歷了很多大項目的資深開發者都知道,開發伊始,程序需要跑在什么平臺上,都是確定的了。 越是大型項目,越是確定的明確,而且輕易不會考慮平臺的移植。即便需要在其他平臺架設新服務,也是在新平臺上進行增項的開發,與即有產品之間也可以通過?Webservice解決。而數據庫是無所謂的。我想不會有人用ACCESS來做大型商業程序的開發吧!
隨著大多數業務應用程序包括CRM、ERP、報表、文檔管理等等也都轉向了Web,放眼望去,PHP的產品,琳瑯滿目,在互聯網應用方面,可以負責的說, 涵蓋率在99%以上。php有必要轉java嗎。雖然眾多產品的質量也是參差不齊,但是每個方向及領域都是有那么一些代表產品的。能舉出范例的有Wordpress, Drupal, mediaWiki, osCommerce, SugarCRM,Discuz, QeePHP,ShopNC等等。
產品化程度是直接佐證了工業化程度的一個重要數據。不能工業化的工具,其實其本身是有著非常大的悲哀的。
這一回合,Java輸的體無完膚。php跟java有什么區別,
  7、開發及后續維護成本比較
  既然PHP在互聯網應用諸多方面都強于Java,那么Java開發出的電子商務產品何以與PHP產品競爭呢?這在于Java陣營普遍走的是政府路線, 而PHP陣營走的是全民路線。Java在互聯網方面靠的是大學老師的言傳身教,才得以在互聯網世界狺狺狂嘯,而PHP是靠得是自身品質而得民心,所以才一 路贊歌。
軟件價格的高低很大程度上和自身成本和功能相掛鉤。PHP的入門門檻較低,但是任何方面成為高手,都是萬里挑一。絕大多數學過c的程序員都很容易轉型為PHP程序員,這使得PHP程序員如同國球一樣普及,同樣更是高手如云,高質量的PHP軟件產品也層出不窮。
服務器成本方面,PHP最經典的組合PHP+ MySQL + Apache,Java也是經常與MySQL + Tomcat、JBoss等軟件配合。所有軟件都是開源免費的,所以服務器端的投入都并不高。
而Java程序員的學習成 本卻是PHP成本的幾倍,原因也很晴朗,本身Java就不是專門給WEB開發用的。所以,Java開發電子商務的成本要遠遠高于PHP開發出來的同類軟件 產品。但也正由于Java開發的成本較高,所以往往也是做一個同樣的產品,達到同樣的效果,Java需要付出比PHP開發多出N倍的時間及經濟成本。直接的造成了巨大的時間及成本浪費。
最后一回合,Java在WEB之戰中,輸的干干凈凈。
通過以上數據也可以讓讀者非常清楚的意識到,采購了Java類的電子商務商品,你將來后續的維護期帶來多么昂貴的經濟成本,及付出多少寶貴的時間。商機是稍縱即逝的,如果商業上的運作永遠需要在等待漫長的技術實現后才可以施展,那恐怕真的是黃花菜都涼了。
不怕不識貨,就怕貨比貨。PHP開發出來的產品應用普及,口碑良好,但是Java開發出來的產品,很難形成規模,直接導致產品化的少,項目類型的多。正因 為PHP開發的產品整體性能經歷了萬千使用者的檢驗與完善。Java與之相比則相去甚遠,所以Java只有走政府路線,以價格落差來平衡采購方的心態,也 就不足為奇了。
總結所有一切,PHP才是的電子商務軟件發展的最有力推動者,也將必然成為大勢所趨,是不可逆轉的,是不可被質疑的。
作為程序員,無論PHP還是Java。高度這個問題上,其實對于我們而言都一樣的。在這個高度上的戰爭其實是各大廠商之間的事情,和我們無關。但是例如WEB方面。我還是要為自己的陣營搖旗吶喊!

?

php開發和java開發有什么不同

?
http://zhidao.baidu.com/question/451520611.html?qbl=relate_question_1比較PHP和JSP這兩個Web開發技術,在目前的情況是其實是比較PHP和Java的Web開發。以下是我就幾個主要方面進行的比較:
一、 語言比較
PHP是解釋執行的服務器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程序員可以很快的熟悉php的開發。而java需要先學好java的語法和熟悉一些核心的類庫,懂得面向對象的程序設計方法。所以java不如php好學。
Java首先要編譯成字節碼.class文件,然后在java虛擬機上解釋執行。Java的Web開發首先最容易想到的就是JSP(現在已經到JSP2.0),原來的java的Web開發都是用servlet來實現的,用servlet來開發需要程序員在java的源文件中嵌入大量的html代碼。所以后來就出現了JSP,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等不同的操作系統上。
五、 開發成本比較
PHP最經典的組合就是:PHP + MySQL + Apache。非常適合開發中小型的Web應用,開發的速度比較快。而且所有的軟件都是開源免費的,可以減少投入。
Java的Web應用服務器有免費Tomcat、JBoss等,如果需要更好的商業化的服務有:Web Sphere和?Web logic。
六、 分布式多層架構比較
PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就比較強大,可以實現多層的網絡架構。數據庫層(持久化層)、應用(業務)邏輯層、表示邏輯層彼此分開,而且現在不同的層都已經有一些成熟的開發框架的支持。例如Struts就是利用java的Web開發技術實現了MVC的設計模式,而在業務邏輯層也有Spring框架,數據庫持久化層有Hibernate等框架。這些框架可以方便開發者高效、合理、科學得架構多層的商業應用。
下面簡要的說一下Struts,它實質上是在JSP Model2的基礎上實現的一個MVC(Model、View、Controler)框架。JSP Model2體系結構是一種聯合使用JSP?與Servlet?來提供動態內容的方法。在Struts框架中,模型由實現業務邏輯的JavaBean或EJB組件構成,控制器由Servlet實現的,視圖由一組JSP文件組成。采用Struts可以明確角色的定義和開發者與網頁設計者的分工。而且項目越復雜,其優勢越明顯。
七、 源代碼安全
PHP開發的程序的源代碼都是公開的,他人拿到php開發的程序后都可以進行修改。
Java開發的程序,最后用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。
八、性能比較
有人做過試驗,對這兩種種語言分別做回圈性能測試及存取Oracle數據庫測試。
在循環性能測試中,JSP只用了令人吃驚的四秒鐘就結束了20000*20000的回圈。而PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒。
數據庫測試中,二者分別對?Oracle 8?進行?1000?次?Insert,Update,Select和Delete:?JSP?需要?13秒,PHP?需要?69?秒。
?
綜上所述,我個人認為,PHP適合于快速開發,中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。而Java適合于開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。還有,同樣功能的系統用Java開發的系統要比PHP開發的系統的價格要高。
  • php和java在開源社區的活躍度嚴重超過了其他的語言,使用人數也都是相當之多;活躍的開發工程師們能夠給我幫助,且這倆都能很好的跨平臺,不用花費大量的人力物力去維護
  • 我也做過一個物聯網的網關網站,比較復雜,當時采用的是jsp+java,復雜程度可想而知,單單說開發過程,網站部分繁瑣,每次想查看結果運行網站的時 候還需要重新打包部署一下,嚴重影響了哦的開發效率,每天的時間都是在等待(因為網站比較復雜,打包部署需要浪費一些時間)。相對來說呢,php就沒有 了,php靈活,好學,上手快,容易修改,容易發布,關鍵是熱部署,這個真讓哦眼睛大亮。當然看待任何事物都需要兩種眼光,php也會有缺點,比如沒有太 好的開發IDE,所以拼寫錯誤很正常,且php的sql注入危險較大點,執行效率不高,安全性不如java。
  • 還有一些理由,來自知乎的米米們給的建議:
  • Java的優點則是穩定可靠、運行效率高(尤其是JIT的出現之后差距更大了)、不容易犯錯(強類型、預編譯、必須攔截異常等等),缺點是開發和發布的效率相對較低。盡管優秀的工程師能在一定程度上改變以上的問題,但通常而言,哪能到處都是高手多如狗的夢之隊?
  • 從MVC的層次結構上說,在一般網站項目的開發周期中,需求變更最頻繁、調整最多的是View,其次是Controller,最后是Model。這非常好理解,沒事干誰天天改數據結構?每次版本升級控制結構都要改的啦,或多或少而已。
  • 再次是兩者之間的通信,目前RPC技術已經足夠成熟,無論是Web Service/Hessian/RESTful API都能夠讓開發人員專注在功能開發上,而不需要過多的考慮異構平臺的差異和通訊的細節。這也就意味著在大公司里同時應用兩種語言的方案并不會引入過多 的復雜度和工作量。當然,文檔量的下限倒是因此被拔高了不少,但事實上大部分團隊對此其實都是喜聞樂見的:別每天說文檔重要但沒空了,你不寫其他同事怎么 配合?
  • 靠近用戶的前端,使用PHP能夠更快的完成前端頻繁而瑣碎的更新,自如的應對各種需求的變化。頁面的結構調整、用戶輸入內容的基本驗證、僅只和用戶交互有 關的簡單邏輯等都很適合使用PHP來開發,甚至可以通過類似Smarty等模板技術將其頁面的變動遷移到前端團隊。而基本的業務邏輯和數據的更新采用?Java開發,可以有效的提高復用度、提升性能和吞吐能力、規避安全問題等。而開發效率稍有降低換來的是可維護性的提升,發布速度慢就更不是問題了,因為 通常對于基礎業務邏輯的調整往往都是整體修改,并層層測試確認才能發布的。

所以,大型網站前端采用PHP后端采用Java,既好招人又好維護、系統穩定還性能高、連安全性都大大增加。代碼復用、文檔完備度居然也都改善了。讓你在以上這些好處觸手可及時,對架構師知識譜系在廣度上要求更高一些這事根本就不是個問題。

為什么不是僅用PHP或是僅用Java?

    • 其實也有很多公司為了保證團隊組織不至于過度復雜,會更傾向于采用單一語言,尤其是中小公司。
      單一方案其實一樣可以做良好的隔離,PHP同樣可以提供Service,而性能問題其實很多時候是算法和架構的問題而不是語言差異的問題。如Velocity或JSTL等也是很優秀的隔離方案。
      但這些方案在高壓力下會暴露出很多問題而體現雙語言的優勢,這些在上面其實都提到,詳細說明一些很難得到改變的點:
      1. PHP由于其動態腳本語言的特性,包括類、函數、常量在內都需要在每次請求周期中重復執行后才能建立運行環境;為了保證解析速度而犧牲編譯質量;應用了?FastCGI但僅僅只是復用進程處理請求減少fork成本而不是像其他語言,初始化完畢后通過FastCGI的接口獲得數據并以對應接口返回數據等幾個 原因,基本上已經不可能在性能上追回當初更爛現在開著JIT牌跑車的Java了。
      2.?在PHP里是如此的容易犯錯而難以發現,即使你用實質上出自官方的Zend Studio,也無法改變一個事實:要保證你的程序高質量無大錯,得要有充足的經驗、足夠的嚴謹、以及——負責任的QA。淘寶的黃裳就曾經拿IDE這事開 過玩笑。而玩笑背后的那個原因“缺乏中間件”最近幾年有不少的改善,主要是不少中間件的支持變得更廣泛了從而讓PHP得益,但發展的根源其實還是在C和?Java社區。性能和易犯錯則是語言特性造成的技術難點,也是用來換取靈活、快捷的必要代價,很難去指望有根本的改善。
      3. Java的世界里也有JSTL、Velocity和Freemaker等,但和PHP靈活而強大的動態能力、豐富的函數和類庫、輕松的學習成本、多到令人 發指的文檔相比,簡直就是渣,就是渣啊!JSTL改完了要重啟Context啊有木有?Velocity不關緩存也要重啟啊有木有?Velocity開緩 存性能低下啊有木有?即使這些都不管,調整下某個數據校驗規則要改Action也要重啟有木有?

轉載于:https://www.cnblogs.com/liangxiaofeng/p/5255181.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/180590.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息