橋玄
PHP是一種解釋執(zhí)行的腳本語言,語法和C語言類似,易學(xué)易用,不懂電腦的非專業(yè)人員稍經(jīng)學(xué)習(xí)也能使用PHP;而Java要先編譯成Class文件,然后在Java虛擬機(jī)上執(zhí)行,Java開發(fā)需要熟悉Java語法以及一些核心的架構(gòu),從而實(shí)現(xiàn)一種可復(fù)用的、跨平臺的軟件,Java比PHP要難學(xué)的多。你可以去后盾人平臺看一下,里面的東西不錯(cuò)
司空易
現(xiàn)在做軟件開發(fā)的前景都很好1、Java和php的會比web好一些。2、Java的應(yīng)用更廣泛一些,能做的項(xiàng)目一些。3、深圳遠(yuǎn)標(biāo)Java開發(fā),只要學(xué)精學(xué)好了前途都是非常好的。別說軟件開發(fā)這一行了,所有的行業(yè)都是一樣的,在一個(gè)行業(yè)里做到精,那你就是這個(gè)行業(yè)里的成功者。
鐵鼓吏
1. php即寫即用的。也就是說每次只有一改動(dòng)完成,用戶立馬看到效果,而java則慢多了,代碼改動(dòng)完成后,要重新編譯,然后重啟jvm,中間耗費(fèi)的時(shí)間可是不少啊,而且重啟jvm過程可是會造成用戶響應(yīng)中斷的哦。2. php寫東西快。php可以說是非常敏捷的,一個(gè)需求給到,只要不考慮后期的性能和用戶量問題,那是相當(dāng)快速的,甚至你都可以不用框架,直接寫也會非??斓?,寫一個(gè)增刪改查功能,可能也就30-50行代碼就搞定了。而java就慢多了,首先要想一下用什么框架,目前基本上就是spring了,然后就是配置各種數(shù)據(jù)庫,過濾器,servlet,決定是用mybatis還是hibernate,然后考慮代碼之間的傳遞,然后考慮事務(wù)。。。 然后不停調(diào)試,一改代碼可能就是幾分鐘的等待時(shí)間,可想而知。3. php的表面思路更清晰。什么是表面思路,就是你看到的東西就是真正做出來的東西,比如echo "hello world",就是輸出hello world,而java則不同,你可能是寫response中,可能是寫在modelattribute中,也可能就是return了該字符串,然后不知道怎么的,它就顯示到頁面上了。4. php占用內(nèi)存少。php是進(jìn)程式處理問題的,占用內(nèi)存相當(dāng)少,可以說,你在一臺機(jī)器部署50個(gè)項(xiàng)目沒有任何問題,只要訪問量不上來,搞得定。而java就不行了,java每啟動(dòng)一個(gè)項(xiàng)目,本身就得耗盡許多內(nèi)存,比如在一臺8g內(nèi)存的機(jī)器上,一般跑上2個(gè)項(xiàng)目就差不多了。5. 說了這php的好處,難道java就沒有好處嗎?那是不可能的。6. java組件多。我個(gè)人覺得單是這一點(diǎn)就蓋過其他所有優(yōu)點(diǎn)了,因?yàn)榻M件多,意味著用的人多,群眾的眼睛是雪亮的。所以,java一定是好的,它已經(jīng)積淀了太多的東西,不是一門新型語言能夠隨便替代的。你想要做什么,好好搜索java組件,可能都有你需要的功能,特別對于當(dāng)下最流行的大數(shù)據(jù)產(chǎn)業(yè),java更是占據(jù)一方。而php在這種場景就有點(diǎn)無能為力了。7. java線程池,連接池,異步化方便。其實(shí)這一點(diǎn)和第一點(diǎn)也很相似,也是因?yàn)榻M件多,所以要使用線程池連接池都很方便,這對于高并發(fā)高性能的場景來說,是絕對必要的。因?yàn)閖ava的運(yùn)行原因就是多線程的,所以不用每次都去初始化很多基本的東西,這省去了太多的時(shí)間,也因此大家可以忍受服務(wù)器啟動(dòng)的緩慢過程,因?yàn)橹挥幸淮巍6鴓hp則是多進(jìn)程的,每次都需要重新加載所有需要的代碼,也因此無法將一些常用數(shù)據(jù)保存在內(nèi)存,連接池也不大好做,異步操作更是一個(gè)大短板。8. java是真正意義上的邏輯清晰。因?yàn)?,java中,你可以從一個(gè)進(jìn)入可以借助IDE工具分析到最深層次的邏輯操作,對于每個(gè)字段,都可以清晰明了,這其實(shí)是接口和完全對象的一個(gè)使用優(yōu)點(diǎn)。而php則做不了或者說很少有人費(fèi)那勁去做這種事情,php可以說是半面向?qū)ο蟀朊嫦蜻^程開發(fā),所以,在調(diào)用過程中插入幾個(gè)自定義的函數(shù)調(diào)用是很正常的,那么你再想通過簡單的IDE去分析調(diào)用鏈就不那么容易了。比如,對于第三方提供的接口,php就很難清楚的看出接口返回了什么,除非你把它打印出來,但是打印出來也不一定對,因?yàn)橛行┓祷刂档臄?shù)據(jù)不一定有體現(xiàn)。這對于理解代碼來說,增加了一個(gè)大大的門坎。9. 雖說java編譯比較煩,但是可以為你提前發(fā)現(xiàn)錯(cuò)誤。java的編譯的確比較耗時(shí),但是如果有明顯的錯(cuò)誤,編譯是不會通過的,這就給你一個(gè)重新檢查代碼的機(jī)會。而php則不會,不管你寫得多爛,都不會給你提示什么,而許多時(shí)候,往往就因?yàn)樯賹懥藗€(gè);分號,導(dǎo)致你排查數(shù)小時(shí)。10. java遠(yuǎn)程調(diào)用方便,rmi,hessian,dubbo。不管怎么樣,遠(yuǎn)程和本地調(diào)用都很方便的知道相關(guān)的信息,而且java的同語言調(diào)用不是采用純粹的http調(diào)用,而且維護(hù)一定的連接,從而大大提高性能。而php也有遠(yuǎn)程調(diào)用,但是相對來說就弱許多了。
司空紅月
比較PHP和JSP這兩個(gè)Web開發(fā)技術(shù),在目前的情況是其實(shí)是比較PHP和Java的Web開發(fā)。以下是我就幾個(gè)主要方面進(jìn)行的比較:一、 語言比較PHP是解釋執(zhí)行的服務(wù)器腳本語言,首先php有簡單容易上手的特點(diǎn)。語法和c語言比較象,所以學(xué)過c語言的程序員可以很快的熟悉php的開發(fā)。而java需要先學(xué)好java的語法和熟悉一些核心的類庫,懂得面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。所以java不如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í)候首先會被應(yīng)用服務(wù)器轉(zhuǎn)換成servlet,然后再編譯執(zhí)行。Jsp可以通過servlet和JavaBean的支持產(chǎn)生強(qiáng)大的功能。JavaBean 是一種可復(fù)用的、跨平臺的軟件組件。使用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è)級的應(yīng)用。二、 數(shù)據(jù)庫訪問比較Java通過JDBC來訪問數(shù)據(jù)庫,通過不同的數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫驅(qū)動(dòng)方便地訪問數(shù)據(jù)庫。訪問數(shù)據(jù)庫的接口比較統(tǒng)一。PHP對于不同的數(shù)據(jù)庫采用不同的數(shù)據(jù)庫訪問接口,所以數(shù)據(jù)庫訪問代碼的通用性不強(qiáng)。例如:用Java開發(fā)的Web應(yīng)用從MySQL數(shù)據(jù)庫轉(zhuǎn)到Oracle數(shù)據(jù)庫只需要做很少的修改。而PHP則需要做大量的修改工作。三、 系統(tǒng)設(shè)計(jì)架構(gòu)比較采用Java的Web開發(fā)技術(shù),需要使用的是面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)方法,而PHP還是采用面向過程的開發(fā)方法。所以用Java進(jìn)行開發(fā)前期需要做大量的系統(tǒng)分析和設(shè)計(jì)的工作。四、 跨平臺性Java和PHP都有很好的跨平臺的特性。幾乎都可以在不作任何修改的情況下運(yùn)行在Linux或者Windows等不同的操作系統(tǒng)上。五、 開發(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。六、 分布式多層架構(gòu)比較PHP只能實(shí)現(xiàn)簡單的分布式兩層或三層的架構(gòu),而JAVA在這方面就比較強(qiáng)大,可以實(shí)現(xiàn)多層的網(wǎng)絡(luò)架構(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)用。下面簡要的說一下Struts,它實(shí)質(zhì)上是在JSP Model2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC(Model、View、Controler)框架。JSP Model2體系結(jié)構(gòu)是一種聯(lián)合使用JSP 與Servlet 來提供動(dòng)態(tài)內(nèi)容的方法。在Struts框架中,模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean或EJB組件構(gòu)成,控制器由Servlet實(shí)現(xiàn)的,視圖由一組JSP文件組成。采用Struts可以明確角色的定義和開發(fā)者與網(wǎng)頁設(shè)計(jì)者的分工。而且項(xiàng)目越復(fù)雜,其優(yōu)勢越明顯。七、 源代碼安全PHP開發(fā)的程序的源代碼都是公開的,他人拿到php開發(fā)的程序后都可以進(jìn)行修改。Java開發(fā)的程序,最后用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。八、性能比較有人做過試驗(yàn),對這兩種種語言分別做回圈性能測試及存取Oracle數(shù)據(jù)庫測試。在循環(huán)性能測試中,JSP只用了令人吃驚的四秒鐘就結(jié)束了20000*20000的回圈。而PHP測試的是2000*2000循環(huán)(少一個(gè)數(shù)量級),卻分別用了63秒。數(shù)據(jù)庫測試中,二者分別對 Oracle 8 進(jìn)行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒。 綜上所述,我個(gè)人認(rèn)為,PHP適合于快速開發(fā),中小型應(yīng)用系統(tǒng),開發(fā)成本低,能夠?qū)ψ儎?dòng)的需求作出快速的反應(yīng)。而Java適合于開發(fā)大型的應(yīng)用系統(tǒng),應(yīng)用的前景比較廣闊,系統(tǒng)易維護(hù)、可復(fù)用性較好。還有,同樣功能的系統(tǒng)用Java開發(fā)的系統(tǒng)要比PHP開發(fā)的系統(tǒng)的價(jià)格要高。
寧隨
1、java和php技術(shù)層面對比: java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。但其優(yōu)勢也是其劣勢,具體參考第6點(diǎn)。 PHP屬于后起之秀,吸收了java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。WEB領(lǐng)域PHP擁有得天獨(dú)厚的優(yōu)勢,WEB領(lǐng)域沒有語言可以和他比。 兩者相比,基本上java完勝。但是其實(shí)并沒有太大的可比性,專注領(lǐng)域不同。單純拿兩者都可以做的WEB來說,PHP完勝?! ?、java和php市場份額對比: java語言算是古老,多年的發(fā)展,其在C/S領(lǐng)域和B/S領(lǐng)域都占有一席之地,特別是在電信和銀行行業(yè)。但隨著社會需求的變化和其他語言的專注,java的市場正被一點(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帝國不會一下子崩塌,一定是有一個(gè)過程。所以現(xiàn)在學(xué)習(xí)并不需要擔(dān)心其前途,現(xiàn)在學(xué)習(xí)你更需要擔(dān)心的卻是近十年間英才輩出的javaer,和大批正在進(jìn)入java陣營的同業(yè)者。 PHP在市場描述就比較簡單了,因?yàn)槲覀冎灰匆粋€(gè)領(lǐng)域,那就是web領(lǐng)域。WEB領(lǐng)域php的市場超過80%,其余的則是如java-JSP,asp,C#,.NET,python,ruby等。網(wǎng)站500強(qiáng)中有395家使用PHP。全球最大的兩個(gè)網(wǎng)站facebook和新浪微博全在使用PHP。 兩者相比,算平分秋色?! ?、java和PHP的發(fā)展空間對比 安卓勢頭很猛,但手機(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)對GDP的貢獻(xiàn)可達(dá)20%,中國互聯(lián)網(wǎng)對GDP的影響僅為3%??芍^互聯(lián)網(wǎng)的發(fā)展空間巨大,而互聯(lián)網(wǎng)離不開WEB,WEB離不開PHP。 兩者相比,個(gè)人覺得PHP的優(yōu)勢更加明顯?! ?、java和PHP的薪資對比 薪資事由供求關(guān)系決定的,人才缺失,薪資自然高,人才飽和,薪資自然不會高。 java由于大學(xué)基本都有這個(gè)課程,很多人想從事軟件行業(yè)的時(shí)候,自然就學(xué)習(xí)JAVA了,加上java近10年的火爆,人才輩出,整個(gè)java行業(yè)是處于供大于求的。南京地區(qū):一個(gè)30人的java培訓(xùn)班,最后差不多10人找不到理想的工作而轉(zhuǎn)行,最低薪資甚至只有1000多元,就有人肯干。當(dāng)然java學(xué)的好的,薪資4000多也是不少的。 PHP完全依托于市場的驅(qū)動(dòng),難點(diǎn)在于很多人并不了解PHP,也沒途徑可以了解,根本原因是大學(xué)沒有這個(gè)課程,我知道的,南京百十所高校只有曉莊學(xué)院開了PHP課程,而且不是作為主修。市場對PHP的需求,高校并不清楚,高校更愿意推符合學(xué)院派特點(diǎn)的java。 學(xué)習(xí)php的人少,企業(yè)需求多,導(dǎo)致PHP薪資遠(yuǎn)遠(yuǎn)超過了同行業(yè)者。一般起薪?jīng)]有低于3000元的。南京地區(qū)高的早已經(jīng)突破4500元。北上廣更是突破了6000元的起薪。 兩者相比:除了java工作難找,但只要找到了工作,高位線是差不多的,低位線JAVA明顯處于劣勢?! ?、java和php的薪資漲幅速度對比: java是公認(rèn)的難,難上手,真正上手需要至少1-2年,而這期間都屬于學(xué)徒級別,薪資漲幅有限。2年后會有一個(gè)較大的漲幅,基本拿個(gè)6-7千是沒有問題的。 PHP是公認(rèn)的簡單,上手極快,基本過了試用期就可以漲工資了,PHPer正常是半年漲一次薪資,前3年的幅度都還可以,1年5-6千,2年7-8千。3年能過萬的也大有人在。 兩者相比:其實(shí)php的前端優(yōu)勢明顯,后段雙方區(qū)域持平。并不像很多人說的PHP后面難漲,PHP缺人,但更缺熟手。java也不像很多人吹噓的那樣高薪,兩級分化嚴(yán)重。其實(shí)也很正常,越難的語言,兩級分化越是嚴(yán)重?! ?、java和php各自發(fā)展的瓶頸: JavaEE體系曾經(jīng)統(tǒng)治企業(yè)級軟件開發(fā)長達(dá)數(shù)十年之久,十年間英才輩出,但是Java語言本身卻越來越顯示出臃腫和分裂的態(tài)勢。使用Java是個(gè)昂貴的選擇,復(fù)雜的需求設(shè)計(jì), 緩慢的項(xiàng)目進(jìn)度,昂貴的應(yīng)用服務(wù)器和維護(hù)難度使Java成為了一種廟堂之上的語言。而版本的分裂也使所謂的跨平臺特性成為了一句空話。Java的特性使得它并不適合業(yè)務(wù)隨著市場快速變化的互聯(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由于其簡單,快速開發(fā)等特點(diǎn),也導(dǎo)致了開發(fā)復(fù)雜應(yīng)用稍顯吃力,所謂成也蕭何敗也蕭何,PHP由于其關(guān)注應(yīng)用層面,開發(fā)基本不需要考慮底層的東西,導(dǎo)致其開發(fā)快速,學(xué)習(xí)簡單;但也導(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)對一個(gè)又一個(gè)的難題。新浪微博架構(gòu)師兼首席PHP技術(shù)顧問惠新宸一直在專注與PHP底層原理的研究和分享。擴(kuò)展是被他認(rèn)為PHP最偉大的地方?! ?、java和PHP的崗位數(shù)對比: 一下數(shù)據(jù)出自2014年9月初的百度統(tǒng)計(jì): 2014年9月初,全國java招聘崗位數(shù)為82703個(gè)。 2014年9月初,全國PHP招聘崗位數(shù)為47263個(gè)。 java的崗位數(shù)差不多是PHP崗位數(shù)的2倍不到。但值得深思的是,java的人才數(shù)量是PHP人才數(shù)量的100倍還不止?! ?、java和PHP的學(xué)習(xí)成本對比: java學(xué)習(xí),是公認(rèn)的難。難以上手,難以理解。自學(xué)時(shí)間成本是12個(gè)月,自學(xué)成功率不到10%,培訓(xùn)時(shí)間成本也近6個(gè)月。培訓(xùn)費(fèi)用平均成本大致為15000元左右。成為熟手的時(shí)間成本為2年。成為高手的時(shí)間成本一般為5年以上。 PHP學(xué)習(xí),是公認(rèn)為最簡單的語言。解釋性語言,無需編譯。自學(xué)時(shí)間成本是6個(gè)月,自學(xué)成功率20%,培訓(xùn)時(shí)間成本3個(gè)月。培訓(xùn)費(fèi)用平均成本8000元左右。成為熟手的時(shí)間成本為1年。成為高手的時(shí)間成本一般為3年以上。 兩者相比,java的學(xué)校成本要明顯高于PHP?! ?總結(jié)一下:java和PHP各有各的優(yōu)勢,說到明天早上也不一定說的完,我想說的是學(xué)習(xí)哪一個(gè),都是OK的。 想學(xué)java就從事安卓行業(yè),想從事WEB領(lǐng)域,就學(xué)習(xí)PHP。 由于java的學(xué)習(xí)難度,沒有基礎(chǔ)或者基礎(chǔ)不好的同學(xué)還是謹(jǐn)慎選擇,對于零基礎(chǔ)的同學(xué)還是PHP可能更加適合一點(diǎn)。
重開奇境
1、語言難易比較PHP是一種解釋執(zhí)行的腳本語言,語法和C語言類似,易學(xué)易用,不懂電腦的非專業(yè)人員稍經(jīng)學(xué)習(xí)也能使用PHP.而Java要先編譯成Class文件,然后在Java虛擬機(jī)上執(zhí)行,Java開發(fā)需要熟悉Java語法以及一些核心的架構(gòu),從而實(shí)現(xiàn)一種可復(fù)用的、跨平臺的軟件,Java培訓(xùn)比PHP培訓(xùn)要難學(xué)的多。2、技術(shù)架構(gòu)比較從技術(shù)架構(gòu)來說,Java語言相比PHP有明顯的優(yōu)勢,Java使用的是面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)方法,而PHP還是采用面向過程的開發(fā)方法。PHP只能實(shí)現(xiàn)簡單的分布式兩層或三層的架構(gòu),而JAVA可以實(shí)現(xiàn)多層架構(gòu)。數(shù)據(jù)庫層、應(yīng)用邏輯層、表示邏輯層彼此分開,而且現(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ù)學(xué)運(yùn)算和數(shù)據(jù)庫訪問速度來講,Java的性能也優(yōu)于PHP.實(shí)際上,對于跨平臺的大型的企業(yè)應(yīng)用系統(tǒng)來講,Java幾乎已經(jīng)成為唯一的選擇。3、Java和PHP技術(shù)層面對比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)勢,WEB領(lǐng)域沒有語言可以和他比。4、Java和PHP的發(fā)展空間對比安卓勢頭很猛,但手機(jī)安裝app數(shù)量有限,推廣難,也是app面臨的最大挑戰(zhàn),好在安卓只有JAVA可以做,除此之外就是HTML5了。目前來說互聯(lián)網(wǎng)的發(fā)展空間巨大,而互聯(lián)網(wǎng)離不開WEB,WEB離不開PHP。兩者相比,個(gè)人覺得PHP的優(yōu)勢更加明顯。5、適用性比較PHP適合于快速開發(fā),中小型應(yīng)用系統(tǒng),開發(fā)成本低,能夠?qū)ψ儎?dòng)的需求作出快速的反應(yīng)。而Java適合于開發(fā)大型的應(yīng)用系統(tǒng),應(yīng)用的前景比較廣闊,系統(tǒng)易維護(hù)、可復(fù)用性較好。還有,同樣功能的系統(tǒng)用Java開發(fā)的系統(tǒng)要比PHP開發(fā)的系統(tǒng)的價(jià)格要高。6、薪資比較薪資事由供求關(guān)系決定的,人才缺失,薪資自然高,人才飽和,薪資自然不會高。從需求上看企業(yè)對Java人才的需求是比較大的,但Java方面的人太多,而PHP方面的人才要少很多,所以面上看PHP的薪資應(yīng)該要高一些,但Java只要學(xué)得好,薪資高的也很多,這方面還是看技術(shù)??偨Y(jié)下:不管是PHP還是Java都是不錯(cuò)的選擇,目前來說這兩種語言都還處在勢頭上,但是從長遠(yuǎn)出發(fā)還是Java好,畢竟從性能、處理數(shù)據(jù)各方面來看還是Java有優(yōu)勢一些,當(dāng)然最終選擇還是在你自己的手里。
聶偉
java和php區(qū)別主要體現(xiàn)在語言結(jié)構(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)勢,WEB領(lǐng)域沒有語言可以和他比。兩者相比,基本上java完勝。但是其實(shí)并沒有太大的可比性,專注領(lǐng)域不同。單純拿兩者都可以做的WEB來說,PHP完勝。
平可福
語言這東西沒有優(yōu)劣之分,看你的著重點(diǎn)在哪里如果是你的工作重心在網(wǎng)站或者是前端,那PHP更適合你,PHP在這方面有著明顯的優(yōu)勢,比如開發(fā)效率快,調(diào)試簡單,上手容易等,各大門戶就是最好的例子,比如新浪微博、QQ空間、百度等也都是PHP在做前端的展示,很方便。如果你的研究的方向是后端處理或是企業(yè)應(yīng)用,那JAVA就更適合你,JAVA的優(yōu)勢網(wǎng)上一堆,相信我這里就不用說了,只強(qiáng)調(diào)一點(diǎn),就是JAVA是一個(gè)大集合,可以實(shí)現(xiàn)很多PHP實(shí)現(xiàn)不了的功能,比如后端多線程,定時(shí)任務(wù)等(雖然PHP通過腳本實(shí)現(xiàn),但并不適合所有操作系統(tǒng))
好的,謝謝你的建議
應(yīng)愈
1、專注的領(lǐng)域不同 java是純面向?qū)ο箝_發(fā),功能強(qiáng)大,分支眾多,沒有java不能做的軟件。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。但其優(yōu)勢也是其劣勢,具體參考后面的瓶頸解釋。PHP屬于后起之秀,吸收了java和c以及perl等語言優(yōu)點(diǎn),專注互聯(lián)網(wǎng)領(lǐng)域。在WEB領(lǐng)域中PHP擁有得天獨(dú)厚的優(yōu)勢,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對于不同的數(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、安全性上不同在同是開源和跨平臺的java面前,php丟掉了很多的優(yōu)勢,在代碼的安全性上尤為突出。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