辛青
語言區(qū)分:PHP、JAVA、C#這幾天語言最大的區(qū)別就是執(zhí)行方式的不同。其中還有一些語言本身的區(qū)別,比如是否為強(qiáng)類型、是否能動(dòng)態(tài)編譯、是否為多線程、是否為分布式、是否可移值等等。至于很多人說的性能上的問題,其實(shí)語言本身上的性能問題差異并不大,關(guān)建在于寫程序的人如何編寫的代碼。另外,在關(guān)于與語言結(jié)和的數(shù)據(jù)庫方面也有一定的區(qū)別,PHP通常使用MySQL數(shù)據(jù)庫,JAVA通常使用MySQL或Oracle,而C#因?yàn)槭俏④浀漠a(chǎn)物,通常使用與微軟相關(guān)的數(shù)據(jù)庫Sql Server或Access等,有時(shí)候也會(huì)用Sqllite數(shù)據(jù)庫。平臺(tái)區(qū)分:三種技術(shù)平臺(tái)都可以做常用的WEB應(yīng)用。對(duì)于桌面應(yīng)用來說,PHP并不太適用,JAVA則沒有較好的桌面應(yīng)用的開發(fā)工具,這方面.NET平臺(tái)有較好的優(yōu)勢(shì),不論是Winform還是WPF,都非常適合做桌面應(yīng)用程序。至于實(shí)現(xiàn)一些底層的復(fù)雜業(yè)務(wù),PHP則不如JAVA和.NET,但是在做前端表現(xiàn)層的時(shí)候有著較好的優(yōu)勢(shì)。所以很多復(fù)雜的大型綜合應(yīng)用,可能會(huì)有.NET或者JAVA做數(shù)據(jù)訪問層及業(yè)務(wù)邏輯層,PHP則用來做表現(xiàn)層。據(jù)所說淘寶就是基于這種方式開發(fā)的。同時(shí),JAVA與.NET都是可以跨平臺(tái)的,.NET還能跨語言。
紹宗
1、java和php技術(shù)層面對(duì)比:java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。但其優(yōu)勢(shì)也是其劣勢(shì),具體參考第6點(diǎn)。PHP屬于后起之秀,吸收了java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。WEB領(lǐng)域PHP擁有得天獨(dú)厚的優(yōu)勢(shì),WEB領(lǐng)域沒有語言可以和他比。兩者相比,基本上java完勝。但是其實(shí)并沒有太大的可比性,專注領(lǐng)域不同。單純拿兩者都可以做的WEB來說,PHP完勝。2、java和php市場(chǎng)份額對(duì)比:java語言算是古老,多年的發(fā)展,其在C/S領(lǐng)域和B/S領(lǐng)域都占有一席之地,特別是在電信和銀行行業(yè)。但隨著社會(huì)需求的變化和其他語言的專注,java的市場(chǎng)正被一點(diǎn)點(diǎn)蠶食,WEB領(lǐng)域幾乎被PHP一統(tǒng)天下,嵌入式領(lǐng)域幾乎被C++一統(tǒng)天下,客戶端領(lǐng)域幾乎被C語言一統(tǒng)天下,要不是安卓的出現(xiàn),java的命運(yùn)還真不好說了。其之前積累的巨大java帝國不會(huì)一下子崩塌,一定是有一個(gè)過程。所以現(xiàn)在學(xué)習(xí)并不需要擔(dān)心其前途,現(xiàn)在學(xué)習(xí)你更需要擔(dān)心的卻是近十年間英才輩出的javaer,和大批正在進(jìn)入java陣營(yíng)的同業(yè)者。PHP在市場(chǎng)描述就比較簡(jiǎn)單了,因?yàn)槲覀冎灰匆粋€(gè)領(lǐng)域,那就是web領(lǐng)域。WEB領(lǐng)域php的市場(chǎng)超過80%,其余的則是如java-JSP,asp,C#,.NET,python,ruby等。網(wǎng)站500強(qiáng)中有395家使用PHP。全球最大的兩個(gè)網(wǎng)站facebook和新浪微博全在使用PHP。兩者相比,算平分秋色。3、java和PHP的發(fā)展空間對(duì)比安卓勢(shì)頭很猛,但手機(jī)安裝app數(shù)量有限,推廣難,也是app面臨的最大挑戰(zhàn),好在安卓只有JAVA可以做,除此之外就是HTML5了。中國人口占全球人口19.7%,中國網(wǎng)民占全球網(wǎng)民22.4%,中國網(wǎng)站數(shù)量占全球網(wǎng)站數(shù)量的0.5%,網(wǎng)站的可發(fā)展空間可謂巨大;發(fā)達(dá)國家互聯(lián)網(wǎng)對(duì)GDP的貢獻(xiàn)可達(dá)20%,中國互聯(lián)網(wǎng)對(duì)GDP的影響僅為3%??芍^互聯(lián)網(wǎng)的發(fā)展空間巨大,而互聯(lián)網(wǎng)離不開WEB,WEB離不開PHP。兩者相比,個(gè)人覺得PHP的優(yōu)勢(shì)更加明顯。4、java和php的薪資漲幅速度對(duì)比:java是公認(rèn)的難,難上手,真正上手需要至少1-2年,而這期間都屬于學(xué)徒級(jí)別,薪資漲幅有限。2年后會(huì)有一個(gè)較大的漲幅。PHP是公認(rèn)的簡(jiǎn)單,上手極快,基本過了試用期就可以漲工資了,PHPer正常是半年漲一次薪資,前3年的幅度都還可以兩者相比:其實(shí)php的前端優(yōu)勢(shì)明顯,后段雙方區(qū)域持平。并不像很多人說的PHP后面難漲,PHP缺人,但更缺熟手。java也不像很多人吹噓的那樣高薪,兩級(jí)分化嚴(yán)重。其實(shí)也很正常,越難的語言,兩級(jí)分化越是嚴(yán)重。5、java和php各自發(fā)展的瓶頸:JavaEE體系曾經(jīng)統(tǒng)治企業(yè)級(jí)軟件開發(fā)長(zhǎng)達(dá)數(shù)十年之久,十年間英才輩出,但是Java語言本身卻越來越顯示出臃腫和分裂的態(tài)勢(shì)。使用Java是個(gè)昂貴的選擇,復(fù)雜的需求設(shè)計(jì), 緩慢的項(xiàng)目進(jìn)度,昂貴的應(yīng)用服務(wù)器和維護(hù)難度使Java成為了一種廟堂之上的語言。而版本的分裂也使所謂的跨平臺(tái)特性成為了一句空話。Java的特性使得它并不適合業(yè)務(wù)隨著市場(chǎng)快速變化的互聯(lián)網(wǎng)企業(yè),WEB領(lǐng)域幾乎被PHP一統(tǒng)天下,嵌入式領(lǐng)域幾乎被C++一統(tǒng)天下,客戶端領(lǐng)域幾乎被C語言一統(tǒng)天下,要不是安卓的出現(xiàn),java的命運(yùn)還真不好說了。php的大中型系統(tǒng)開發(fā),方便、快速、是java跟asp.net沒法比擬的, 還有php有很多如yaf,yii,ci等強(qiáng)大的框架, 中小型一般系統(tǒng)的開發(fā),一個(gè)thinkphp就足于通殺java的ssh三大框架了。PHP由于其簡(jiǎn)單,快速開發(fā)等特點(diǎn),也導(dǎo)致了開發(fā)復(fù)雜應(yīng)用稍顯吃力,所謂成也蕭何敗也蕭何,PHP由于其關(guān)注應(yīng)用層面,開發(fā)基本不需要考慮底層的東西,導(dǎo)致其開發(fā)快速,學(xué)習(xí)簡(jiǎn)單;但也導(dǎo)致了學(xué)習(xí)PHP工作一段時(shí)間比較容易遇到瓶頸,PHP在5.3版本后加入了更為強(qiáng)大的擴(kuò)展,通過PHP的擴(kuò)展可以實(shí)現(xiàn)PHP本身實(shí)現(xiàn)不了的功能。所以PHP開發(fā)遇到了這樣瓶頸,可以考慮通過擴(kuò)展來解決,facebook和weibo.com正在大量使用擴(kuò)展功能去應(yīng)對(duì)一個(gè)又一個(gè)的難題。新浪微博架構(gòu)師兼首席PHP技術(shù)顧問惠新宸一直在專注與PHP底層原理的研究和分享。擴(kuò)展是被他認(rèn)為PHP最偉大的地方。6、java和PHP的學(xué)習(xí)成本對(duì)比:java學(xué)習(xí),是公認(rèn)的難。難以上手,難以理解。自學(xué)時(shí)間成本是12個(gè)月,自學(xué)成功率不到10%,培訓(xùn)時(shí)間成本也近6個(gè)月。培訓(xùn)費(fèi)用平均成本大致為2萬元左右。成為熟手的時(shí)間成本為2年。成為高手的時(shí)間成本一般為5年以上。PHP學(xué)習(xí),是公認(rèn)為最簡(jiǎn)單的語言。解釋性語言,無需編譯。自學(xué)時(shí)間成本是6個(gè)月,自學(xué)成功率20%,培訓(xùn)時(shí)間成本3個(gè)月。培訓(xùn)費(fèi)用平均成本1萬5千元左右。成為熟手的時(shí)間成本為1年。成為高手的時(shí)間成本一般為3年以上。兩者相比,java的學(xué)校成本要明顯高于PHP??偨Y(jié)一下:java和PHP各有各的優(yōu)勢(shì),說到明天早上也不一定說的完,我想說的是學(xué)習(xí)哪一個(gè),都是OK的。想學(xué)java就從事安卓行業(yè),想從事WEB領(lǐng)域,就學(xué)習(xí)PHP。由于java的學(xué)習(xí)難度,沒有基礎(chǔ)或者基礎(chǔ)不好的同學(xué)還是謹(jǐn)慎選擇,對(duì)于零基礎(chǔ)的同學(xué)還是PHP可能更加適合一點(diǎn)。下面是兩個(gè)網(wǎng)址,一個(gè)是Java,一個(gè)是php,自己可以看下,對(duì)比一下http://p.ygjedu.com/JAVA/http://p.ygjedu.com/PHP/
心靈福至
JAVA的優(yōu)劣勢(shì)及前景JAVA可以說是最熱門的的編程語言,對(duì)于很多高級(jí)語言來說,JAVA都是基礎(chǔ);另外一個(gè),JAVA是跨平臺(tái)的,有多個(gè)方面的應(yīng)用,如Android、Swing、J2EE、J2ME等。就業(yè)面比較廣,市場(chǎng)用人需求也大。java多開發(fā)大型系統(tǒng),所以大型企業(yè)往往需要很多Java人才,這是其優(yōu)勢(shì)。不過,JAVA學(xué)習(xí)門檻比php高,需要學(xué)習(xí)的內(nèi)容也多,掌握java技術(shù),真正可能需要5個(gè)月以上。待遇相對(duì)來說比php也高些,有1年工作經(jīng)驗(yàn)月薪6000-8000元,3年工作經(jīng)驗(yàn)的可達(dá)到萬元月薪。就前景來說,Java前景應(yīng)該是比較光明的,一是Java穩(wěn)定,應(yīng)用廣泛,一定時(shí)期內(nèi)很難被其他編程語言取代;而許多大型系統(tǒng)都是用java開發(fā),也不可能輕易使用其他語言待遇,所以java的前景應(yīng)該是穩(wěn)定而光明的。PHP的優(yōu)勢(shì)和不足PHP主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用PHP開發(fā),PHP是開源的,這是使得PHP經(jīng)久不衰的原因。在電商、社區(qū)等方面,PHP具備非常成熟的開源代碼和模板,因此使得PHP應(yīng)用極為廣泛。劣勢(shì)是受眾較小,有可替代性。PHP堅(jiān)持腳本語言為主,所以PHP入門比較簡(jiǎn)單,經(jīng)過3-4個(gè)月培訓(xùn)即可學(xué)成,找工作起薪比Java要低,平均工資比java也要低些,不過有經(jīng)驗(yàn)的php程序員待遇較高,4、5年開發(fā)經(jīng)驗(yàn)的php工程師,工資可達(dá)1萬5,不過再提升就比較難,php的提升空間不如java。相對(duì)于其他編程語言來說,發(fā)展前景比較樂觀,但不如Java穩(wěn)定。
朱砂吼
PHP和Java都是現(xiàn)在比較流行的二種編程語言。對(duì)于許多新手來說,都會(huì)思考如果學(xué)的時(shí)候,該學(xué)哪種語言呢?下面這篇文章給大家整理兩者的區(qū)別以及一些選擇建議,一起來看看吧。二、簡(jiǎn)介PHP與Java作為兩種截然不同的程序開發(fā)語言,無論是技術(shù)層面還是發(fā)展空間,亦或是市場(chǎng)份額占比,都有著不同的表現(xiàn)方式,理念上的不同導(dǎo)致了Java和PHP在Web應(yīng)用開發(fā)上顯示了不同的結(jié)果。若要一定追根到底,深究PHP與Java究竟哪個(gè)更好?簡(jiǎn)而言之:PHP是一種解釋執(zhí)行的腳本語言,語法和C語言類似,易學(xué)易用,不懂電腦的非專業(yè)人員稍經(jīng)學(xué)習(xí)也能使用PHP;而Java要先編譯成Class文件,然后在Java虛擬機(jī)上執(zhí)行,Java開發(fā)需要熟悉Java語法以及一些核心的架構(gòu),從而實(shí)現(xiàn)一種可復(fù)用的、跨平臺(tái)的軟件,Java比PHP要難學(xué)的多。那么PHP與Java在Web開發(fā)上又有何區(qū)別呢?哪個(gè)最適合的Web開發(fā)語言?三、 語言比較PHP是解釋執(zhí)行的服務(wù)器腳本語言,首先php有簡(jiǎn)單容易上手的特點(diǎn)。語法和c語言比較象,所以學(xué)過c語言的程序員可以很快的熟悉php的開發(fā)。而java需要先學(xué)好java的語法和熟悉一些核心的類庫,懂得面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。所以相對(duì)而言,php更好學(xué)一些。Java首先要編譯成字節(jié)碼.class文件,然后在java虛擬機(jī)上解釋執(zhí)行。Java的Web開發(fā)首先最容易想到的就是JSP(現(xiàn)在已經(jīng)到JSP2.0),原來的java的Web開發(fā)都是用servlet來實(shí)現(xiàn)的,用servlet來開發(fā)需要程序員在java的源文件中嵌入大量的html代碼。所以后來就出現(xiàn)了JSP,JSP可以方便的嵌入到html文件當(dāng)中,其實(shí)jsp文件在服務(wù)器上執(zhí)行的時(shí)候首先會(huì)被應(yīng)用服務(wù)器轉(zhuǎn)換成servlet,然后再編譯執(zhí)行。Jsp可以通過servlet和JavaBean的支持產(chǎn)生強(qiáng)大的功能。JavaBean 是一種可復(fù)用的、跨平臺(tái)的軟件組件。使用javabean可以方便的實(shí)現(xiàn)java代碼和html的分離,能夠增強(qiáng)系統(tǒng)的功能和軟件的復(fù)用性。Java的Web開發(fā)屬于SUN公司定義的J2EE其中的規(guī)范。而且在J2EE中包括了java的Web開發(fā)的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特別適合于做大型的企業(yè)級(jí)的應(yīng)用。四、技術(shù)架構(gòu)java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。PHP屬于后起之秀,吸收了java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。WEB領(lǐng)域PHP擁有得天獨(dú)厚的優(yōu)勢(shì),WEB領(lǐng)域沒有語言可以和他比。Java語言相比PHP有明顯的優(yōu)勢(shì),Java使用的是面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)方法,而PHP還是采用面向過程的開發(fā)方法。PHP只能實(shí)現(xiàn)簡(jiǎn)單的分布式兩層或三層的架構(gòu),而JAVA可以實(shí)現(xiàn)多層架構(gòu)。數(shù)據(jù)庫層(持久化層)、應(yīng)用(業(yè)務(wù))邏輯層、表示邏輯層彼此分開,而且現(xiàn)在不同的層都已經(jīng)有一些成熟的開發(fā)框架的支持。例如Struts就是利用Java的web開發(fā)技術(shù)實(shí)現(xiàn)了MVC的設(shè)計(jì)模式,而在業(yè)務(wù)邏輯層也有Spring框架,數(shù)據(jù)庫持久化層有Hibernate等框架。這些框架可以方便開發(fā)者高效、合理、科學(xué)得架構(gòu)多層的商業(yè)應(yīng)用。五、數(shù)據(jù)庫訪問速度比較Java通過JDBC來訪問數(shù)據(jù)庫,通過不同的數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫驅(qū)動(dòng)方便地訪問數(shù)據(jù)庫。訪問數(shù)據(jù)庫的接口比較統(tǒng)一。PHP對(duì)于不同的數(shù)據(jù)庫采用不同的數(shù)據(jù)庫訪問接口,所以數(shù)據(jù)庫訪問代碼的通用性不強(qiáng)。例如:用Java開發(fā)的Web應(yīng)用從MySQL數(shù)據(jù)庫轉(zhuǎn)到Oracle數(shù)據(jù)庫只需要做很少的修改,而PHP則需要做大量的修改工作。從數(shù)學(xué)運(yùn)算和數(shù)據(jù)庫訪問速度來講,Java的性能也優(yōu)于PHP。實(shí)際上,對(duì)于跨平臺(tái)的大型的企業(yè)應(yīng)用系統(tǒng)來講,Java幾乎已經(jīng)成為唯一的選擇(微軟.NET不支持跨平臺(tái)),但是在于Web網(wǎng)站應(yīng)用開發(fā)來講,Java卻面臨著被PHP邊緣化的危險(xiǎn),幾乎所有的虛擬主機(jī)都支持PHP+MySQL,而支持Java的卻少之又少,在資源上,網(wǎng)上有不計(jì)其數(shù)的PHP資源,很多著名的大型網(wǎng)站(例如Facebook、Mediawiki等)都是基于PHP的,而成功的Java網(wǎng)站卻寥寥無幾。盡管Java的數(shù)學(xué)計(jì)算和數(shù)據(jù)庫訪問都有優(yōu)勢(shì),架構(gòu)也相當(dāng)完美,但是PHP卻可以簡(jiǎn)單輕松地支持高強(qiáng)度Web訪問,能夠快速開發(fā)應(yīng)用,支持PHP的虛擬主機(jī)多如牛毛,使得用PHP開發(fā)一個(gè)網(wǎng)站比用Java開發(fā)一個(gè)網(wǎng)站要快得多,容易的多。Java所擁有的優(yōu)點(diǎn)只適合傳統(tǒng)的以軟件項(xiàng)目為核心的開發(fā)模式,而PHP更適合于以客戶為核心的SaaS的開發(fā)模式,因此,PHP目前在Web網(wǎng)站開發(fā)的優(yōu)勢(shì)完全是因?yàn)閃eb網(wǎng)站開發(fā)的特殊性而導(dǎo)致的,并非編程語言特性所決定。六、開發(fā)成本比較PHP最經(jīng)典的組合就是:PHP + MySQL + Apache。非常適合開發(fā)中小型的Web應(yīng)用,開發(fā)的速度比較快。而且所有的軟件都是開源免費(fèi)的,可以減少投入。Java的Web應(yīng)用服務(wù)器有免費(fèi)Tomcat、JBoss等,如果需要更好的商業(yè)化的服務(wù)有:Web Sphere和 Web logic。七、源代碼安全PHP開發(fā)的程序的源代碼都是公開的,他人拿到php開發(fā)的程序后都可以進(jìn)行修改。Java開發(fā)的程序,最后用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。八、總結(jié)綜上所述,個(gè)人認(rèn)為,PHP適合于快速開發(fā),中小型應(yīng)用系統(tǒng),開發(fā)成本低、易學(xué),能夠?qū)ψ儎?dòng)的需求作出快速的反應(yīng),在調(diào)試、發(fā)布上,PHP也較Java簡(jiǎn)單。而Java適合于開發(fā)大型的應(yīng)用系統(tǒng),應(yīng)用的前景比較廣闊,系統(tǒng)易維護(hù)、可復(fù)用性較好。Java的理念是“一次編寫,到處運(yùn)行”,Java在應(yīng)用框架底下的架構(gòu)是無與倫比的,遠(yuǎn)勝過其他任何語言,Java的框架利于大型的協(xié)同編程開發(fā),系統(tǒng)易維護(hù)、可復(fù)用性較好。還有,同樣功能的系統(tǒng)用Java開發(fā)的系統(tǒng)要比PHP開發(fā)的系統(tǒng)的價(jià)格要高。
蘭惠
php只相當(dāng)于java語系里的jsp而已,php主要只是一門web后臺(tái)語言。java則分javase(用于桌面應(yīng)用開發(fā),同時(shí)也是所有java的基礎(chǔ)庫)、javaee(也叫j2ee,ee就是企業(yè)應(yīng)用,做大型企業(yè)應(yīng)用一般是web構(gòu)架的,jsp就是javaee的基礎(chǔ)但嚴(yán)格說不屬于javaee的范疇、只是底層技術(shù)而已)、javame(java移動(dòng)設(shè)備版本,是javase的刪減和修改版,針對(duì)移動(dòng)、嵌入式的等設(shè)備作了優(yōu)化,本至于與javase一致)找工作的時(shí)候 php語言通常都要求懂php流行框架、cms,這些勉強(qiáng)和javaee是接近的一個(gè)級(jí)別的東西,但是javaee要抽象高級(jí)些。很多php的流行框架的設(shè)計(jì)思想都取自某些javaee的結(jié)構(gòu)思想。具體怎么選,這要看自己的個(gè)人情況了。希望可以幫到您,謝謝!
黃熊
1:java是半編譯語言,php是腳本語言 2:java使用封裝繼承,最小的單位是類,php作為腳本,最小單位就是語句,用兩者輸出hello world就知道了,所以java語法比較嚴(yán)格,而php很靈活 3:java是自動(dòng)內(nèi)存分配回收,php是一次創(chuàng)建一次銷毀,相同點(diǎn):兩者都不用考慮內(nèi)存泄漏問題,不同點(diǎn):java可以常駐內(nèi)存,多線程;php無法常駐內(nèi)存,也沒有線程的概念 4:java分三個(gè)方向 J2ME,嵌入式設(shè)備,安卓就是目前最大的J2ME平臺(tái),不過其使用的不是JVM,而是谷歌自己開發(fā)的虛擬機(jī) J2SE,桌面編程,基本沒落,需要JVM支持 J2EE,web方向的編程,近些年大規(guī)模的衰減,java語言排名榜之所以跌這么快,就是由于J2EE的出走,如果不是安卓興起,java的現(xiàn)狀可能更悲慘點(diǎn),近年來腳本語言發(fā)展太快,擠壓了java在web上面的開發(fā)。不過在企業(yè)級(jí)的解決方案里面,因?yàn)樽非笮阅芎桶踩?,基本上還是java老大PHP:不用想了,就是為web而生的語言,出了web什么都做不了,這既是它的缺點(diǎn),也是它的優(yōu)點(diǎn),語法簡(jiǎn)潔靈活,和java冗長(zhǎng)的語法正好形成對(duì)比 5:java已經(jīng)是一門很成熟的語言,或者說其語言的進(jìn)一步提升已經(jīng)不可能能了,曾經(jīng)看到一篇文章,講編程語言的進(jìn)化,其中提到,java語言的進(jìn)化樹太全了,使得其沒有發(fā)展的空間php是在web繁榮之后興起的語言,所以語言成熟度沒有java高,推出的php5.0才略微完善了面向?qū)ο蟮臋C(jī)制
張應(yīng)宸
第一個(gè)問題:沒有固定的對(duì)應(yīng)關(guān)系. 雖然一般來說php的代碼量會(huì)少一點(diǎn), 但是還是看個(gè)人功力和第三方工具功能的.第二個(gè)問題:php的開發(fā)效率高, 因?yàn)閜hp應(yīng)用相對(duì)單一,加之各種框架層出不窮.開發(fā)效率挺高的.但是java的應(yīng)用范圍挺廣的.從移動(dòng)應(yīng)用到大數(shù)據(jù),從企業(yè)級(jí)到大型互聯(lián)網(wǎng)應(yīng)用,java能做的事情很多.
吳義
1、專注的e68a84e8a2ad3231313335323631343130323136353331333433636236領(lǐng)域不同 java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。但其優(yōu)勢(shì)也是其劣勢(shì),具體參考后面的瓶頸解釋。PHP屬于后起之秀,吸收了java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。在WEB領(lǐng)域中PHP擁有得天獨(dú)厚的優(yōu)勢(shì),WEB領(lǐng)域沒有語言可以和PHP相比。2、數(shù)據(jù)庫訪問上不同 Java通過JDBC來訪問數(shù)據(jù)庫,通過不同的數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫驅(qū)動(dòng)方便地訪問數(shù)據(jù)庫。訪問數(shù)據(jù)庫的接口比較統(tǒng)一。PHP對(duì)于不同的數(shù)據(jù)庫采用不同的數(shù)據(jù)庫訪問接口,所以數(shù)據(jù)庫訪問代碼的通用性不強(qiáng)。例如:用Java開發(fā)的Web應(yīng)用從MySQL數(shù)據(jù)庫轉(zhuǎn)到Oracle數(shù)據(jù)庫只需要做很少的修改。而PHP則需要做大量的修改工作。3、系統(tǒng)技術(shù)架構(gòu)上不同Java語言有著完備的MVC框架,包括視圖層、業(yè)務(wù)控制層和持久層,在Spring框架中,我們可以通過IOC和AOP降低編碼過程中的高耦合,也就是說Java中的這些框架可以讓開發(fā)者有更廣闊的空間去設(shè)計(jì)科學(xué)合理的架構(gòu),也體現(xiàn)著Java多層架構(gòu)的特點(diǎn)。相比Java而言,PHP留給開發(fā)者的空間并不多,但PHP近些年也在改進(jìn),迎合電子商務(wù)的需要,引入MVC設(shè)計(jì)模式,但成熟性和穩(wěn)定性上與Java還是有著不小的差距。不得不提的是PHP可兼容MySQL開發(fā),這使得在考慮成本因素的前提下,PHP變得小而精,收到了一些中小型網(wǎng)站的青睞。4、安全性上不同在同是開源和跨平臺(tái)的java面前,php丟掉了很多的優(yōu)勢(shì),在代碼的安全性上尤為突出。php的開發(fā)程序在別人拿到代碼后,可以很容易的進(jìn)行修改。而java開發(fā)的程序由于無法看到完整的源代碼,只能看到一些編譯好的類文件,所以安全性較高。5、開發(fā)成本上的不同PHP最經(jīng)典的組合就是:PHP + MySQL + Apache。非常適合開發(fā)中小型的Web應(yīng)用,開發(fā)的速度比較快。而且所有的軟件都是開源免費(fèi)的,可以減少投入。Java的Web應(yīng)用服務(wù)器有免費(fèi)Tomcat、JBoss等,如果需要更好的商業(yè)化的服務(wù)有:Web Sphere和 Web lo
文同
PHP主要使用來做網(wǎng)站以及Web應(yīng)用開發(fā)的。跟JAVA區(qū)別如下:
一、語言優(yōu)勢(shì)不同
1、PHP:即“超文本預(yù)處理器”,是一種通用開源腳本語言。在服務(wù)器端執(zhí)行的腳本語言。
2、JAVA:是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念。
二、語法不同
1、PHP:語法混合了C、Java、Perl以及 PHP 自創(chuàng)的語法。
2、JAVA:作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
三、特點(diǎn)不同
1、PHP:利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。
2、JAVA:具有簡(jiǎn)單性、面向?qū)ο?、分布式、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。
參考資料來源:百度百科-Java
參考資料來源:百度百科-PHP