導航:首頁 > 編程語言 > javaphp大型網站

javaphp大型網站

發布時間:2023-08-18 02:59:33

『壹』 為什麼大型網站前端使用 php 後台邏輯用 java

因為PHP具有良好的安全性、跨平台、執行速度快、很好的移植和擴展性、開發快速等諸多優點,很符合目前快速產品迭代的企業要求,所以越來越多的被各網站所使用。
而Java作為老牌傳統的純面向對象的語言,特別是JavaEE.有異常豐富的第三方資源,各種框架和體系均很完善,從快速開發和大型或超大型項目的開發經驗來看,Java都有非常不俗的表現,所以廣泛被業界所認可,可以說是一直是網站後台語言中的首選。

『貳』 java與php做web開發最大的區別在那為什麼好多用java的

PHP和Java都是現在比較流行的二種編程語言。

對於許多新手來說,都會思考如果學的時候,該學哪種語言呢?下面這篇文章給大家整理兩者的區別以及一些選擇建議,一起來看看吧。

二、簡介

PHP與Java作為兩種截然不同的程序開發語言,無論是技術層面還是發展空間,亦或是市場份額佔比,都有著不同的表現方式,理念上的不同導致了Java和PHP在Web應用開發上顯示了不同的結果。若要一定追根到底,深究PHP與Java究竟哪個更好?

簡而言之:PHP是一種解釋執行的腳本語言,語法和C語言類似,易學易用,不懂電腦的非專業人員稍經學習也能使用PHP;而Java要先編譯成Class文件,然後在Java虛擬機上執行,Java開發需要熟悉Java語法以及一些核心的架構,從而實現一種可復用的、跨平台的軟體,Java比PHP要難學的多。

那麼PHP與Java在雀罩Web開發上又有何區別呢?哪個最適合的Web開發語言?

三、語神歲乎言比較

PHP是解釋執行的伺服器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程序員可以很快的熟悉php的開發。而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是純面向對象開發,功能強大,分支眾多,沒有java不能做的軟體。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。

PHP屬於後起之秀,吸收了java和c以及perl等語言優點,專注互聯網領域。WEB領域PHP擁有得天獨厚的優勢,WEB領域沒有語言可以和他比。

Java語言相比PHP有明顯的優勢,Java使用的是面向對象的系統設計方法,而PHP還是採用面向過程的開發方法。PHP只能實現簡單的分布式兩層或三層的架構,而JAVA可以實現多層架構。資料庫層(持久化層)、應用(業務)邏輯層、表示邏輯層彼此分開,而且現在不同的層都已經有一些成熟的開發框游悉架的支持。例如Struts就是利用Java的web開發技術實現了MVC的設計模式,而在業務邏輯層也有Spring框架,資料庫持久化層有Hibernate等框架。這些框架可以方便開發者高效、合理、科學得架構多層的商業應用。

五、資料庫訪問速度比較

Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫。訪問資料庫的介面比較統一。

PHP對於不同的資料庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。例如:用Java開發的Web應用從MySQL資料庫轉到Oracle資料庫只需要做很少的修改,而PHP則需要做大量的修改工作。

從數學運算和資料庫訪問速度來講,Java的性能也優於PHP。實際上,對於跨平台的大型的企業應用系統來講,Java幾乎已經成為唯一的選擇(微軟.NET不支持跨平台),但是在於Web網站應用開發來講,Java卻面臨著被PHP邊緣化的危險,幾乎所有的虛擬主機都支持PHP+MySQL,而支持Java的卻少之又少,在資源上,網上有不計其數的PHP資源,很多著名的大型網站(例如Facebook、Mediawiki等)都是基於PHP的,而成功的Java網站卻寥寥無幾。

盡管Java的數學計算和資料庫訪問都有優勢,架構也相當完美,但是PHP卻可以簡單輕松地支持高強度Web訪問,能夠快速開發應用,支持PHP的虛擬主機多如牛毛,使得用PHP開發一個網站比用Java開發一個網站要快得多,容易的多。Java所擁有的優點只適合傳統的以軟體項目為核心的開發模式,而PHP更適合於以客戶為核心的SaaS的開發模式,因此,PHP目前在Web網站開發的優勢完全是因為Web網站開發的特殊性而導致的,並非編程語言特性所決定。

六、開發成本比較

PHP最經典的組合就是:PHP+MySQL+Apache。非常適合開發中小型的Web應用,開發的速度比較快。而且所有的軟體都是開源免費的,可以減少投入。

Java的Web應用伺服器有免費Tomcat、JBoss等,如果需要更好的商業化的服務有:WebSphere和Weblogic。

七、源代碼安全

PHP開發的程序的源代碼都是公開的,他人拿到php開發的程序後都可以進行修改。

Java開發的程序,最後用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。

八、總結

綜上所述,個人認為,PHP適合於快速開發,中小型應用系統,開發成本低、易學,能夠對變動的需求作出快速的反應,在調試、發布上,PHP也較Java簡單。

而Java適合於開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。Java的理念是「一次編寫,到處運行」,Java在應用框架底下的架構是無與倫比的,遠勝過其他任何語言,Java的框架利於大型的協同編程開發,系統易維護、可復用性較好。還有,同樣功能的系統用Java開發的系統要比PHP開發的系統的價格要高。

『叄』 為什麼大型網站前端使用 PHP 後台邏輯用 Java

首先,為什麼是PHP和Java,不是其他。這和兩者的開源社區都很活躍,並且都很適合進行Web開發有很大的關系,而且都很適合Linux環境下運行,可以在運維上統一管理。
盡管.Net市場佔有率也不低,但由於Windows和SQL Server的License費用、開源社區不活躍等多種問題相對而言考慮得少一些。TIOBE TOP 10中適合Web開發的語種還包括了Python Perl Ruby,其中Perl已經是昨日黃花,主要在伺服器腳本領域還有較多應用,Web上已經不太可能Yesterday oncemore了。Python最近上升勢頭挺猛,但僅需要考慮文檔較少、招聘相對困難基本就註定了暫時不會是大網站的主流選擇。Ruby就不更不用提了。
再看一下兩個語言之間的差異。 PHP靈活,上手快,易修改,發布快捷,缺點是容易犯錯(常見如拼寫錯誤、SQL注入、上傳執行等)、執行效率不高、缺乏全局緩存。Java的優點則是穩定可靠、運行效率高(尤其是JIT的出現之後差距更大了)、不容易犯錯(強類型、預編譯、必須攔截異常等等),缺點是開發和發布的效率相對較低。盡管優秀的工程師能在一定程度上改變以上的問題,但通常而言,哪能到處都是高手多如狗的夢之隊?
然後從MVC的層次結構上說,在一般網站項目的開發周期中,需求變更最頻繁、調整最多的是View,其次是Controller,最後是Model。這非常好理解,沒事干誰天天改數據結構?每次版本升級控制結構都要改的啦,或多或少而已。而View,啥時候兩天不改BU啊PM啊UED啊大概是集體休年假了吧?
再次是兩者之間的通信,目前RPC技術已經足夠成熟,無論是Web Service/Hessian/RESTful API都能夠讓開發人員專注在功能開發上,而不需要過多的考慮異構平台的差異和通訊的細節。這也就意味著在大公司里同時應用兩種語言的方案並不會引入過多的復雜度和工作量。當然,文檔量的下限倒是因此被拔高了不少,但事實上大部分團隊對此其實都是喜聞樂見的:別每天說文檔重要但沒空了,你不寫其他同事怎麼配合?
總的來說,靠近用戶的前端,使用PHP能夠更快的完成前端頻繁而瑣碎的更新,自如的應對各種需求的變化。頁面的結構調整、用戶輸入內容的基本驗證、僅只和用戶交互有關的簡單邏輯等都很適合使用PHP來開發,甚至可以通過類似Smarty等模板技術將其頁面的變動遷移到前端團隊。而基本的業務邏輯和數據的更新採用Java開發,可以有效的提高復用度、提升性能和吞吐能力、規避安全問題等。而開發效率稍有降低換來的是可維護性的提升,發布速度慢就更不是問題了,因為通常對於基礎業務邏輯的調整往往都是整體修改,並層層測試確認才能發布的。
所以,大型網站前端採用PHP後端採用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也要重啟有木有?
好吧,吐槽結束。
實際工作中性能問題可以通過良好的架構解決,容易犯錯的問題可以通過框架和規范以及全面的測試來解決,中間件選擇少些但其實該有的都有了,Java的靈活性一樣有不少可供考慮的解決方案,不說 OSGi 之類,就算是挫得要死的摘掉節點重啟,完成後重新上節點的策略也都能湊效。
所以,大家會看到單一語言的技術團隊也很多,這個問題的真正考慮還是更多在團隊自身的特點、積累等等。用了雙語言的,也知道自己為什麼要用這些,不用的也清楚自己的路該怎麼走。最後的最後說一句:如果你不知道自己為什麼要用雙語言方案的話,基本上你也就不需要考慮它了。
小豬,寫程序很好玩
後端java最大的優勢在於龐大的生態環境,你想解決的任何問題,java都有現成的方案,而且,相對其他語言來說,基於jvm的方案在運行效率和運維成本上平均來說是最佳的(這里不討論說什麼運維人員的能力之類的,只假設我們的運維都只具有一般的平均水平),所以,後端天然是傾向java的,無論前端用什麼。
至於前端,最大的問題在於,一個網站的UI,變動相當頻繁,傳統的基於java的開發方案,jsp tag lib,freemaker, velocity。。。。你讓前端怎麼改,怎麼調試?不經過專門學習他們怎麼看得懂?而且,java的開發模式,動不動上來就是MVC,後端跟前端結合太緊密了,基本上前端很難自由的在ui層工作。反過來,基於PHP的前端方案,至少做前端的都能看得懂,都能調試得了,這就是巨大的生產力的解放了,講後端java做成rest服務,前端所有的動態代碼都可以交給前端工程師,對他們來講,最舒服的動態網頁方案,自然就是PHP,這個是歷史沉澱決定了,誰也沒法改變,無論你多麼看不起PHP,包括我自己也是並不喜歡PHP,但是仍然要再強調一次,對前端工程師來說,最舒服最自在的動態網頁方案,仍然是PHP!就如同上面很多人回答的,PHP就是快,快在哪兒?PM說要改什麼,前端上手10分改好,30分鍾後已經release了。把任務發給後端工程師?那慢慢等吧。。。

『肆』 php和javaee哪個適合做大型網站

那要看有多大型,超大型的建議用javaee

『伍』 開發大型pc端網站用PHP語言好還是Java好

我作為一個工作七年程序員,我來回答下這個問題。

我的觀點是:用java比較好。理由如下:

先說下java,純面向對象語言,一次編譯,處處運行,效率高效。虛襪用戶拿到的代碼是編譯過後的.class類,源代碼相對php更安全。

因為我廠主要是用的thinkphp作為後台,我具體分析下這個php作為後台的優缺點。

優點:

1、簡單,解釋型語言。幾乎支持了所有的操作系統平台及資料庫系統。

2、執行速度快,效率高。佔用系統資源少。

3、很好的移植性、擴展差悄激性強。

4、開發成本相對java較低。

5、完全開源免費。

缺點:

1、代碼重用率相對java有待提高。

2、因為是解釋性語言,無需編譯,所以源代碼直接暴露在伺服器上。相對java安全級別不夠。

總結:支持快速開發搭建網站,成本相對較低,能夠對變動的運睜需求作出快速的反應,適合中小型的網站。

java的應用前景比較廣闊,系統易維護、可復用性較好。

所以建議Java比較好。

『陸』 現在開發網站,好像都是流行用php,那javaweb一般用在哪裡呢它們之間的區別和優劣勢在哪裡呢

1.php即寫即用的。

也就是說每次只有一改動完成,用戶立馬看到效果,而java則慢多了,代碼改動完成後,要重新編譯,然後重啟jvm,中間耗費的時間可是不少啊,而且重啟jvm過程可是會造成用戶響應中斷的哦。

2.php寫東西快。

php可以說是非常敏捷的,一個需求給到滑晌含,只要不考慮後期的性能和用戶量問題,那是相當快速的,甚至你都可以不用框架,直接寫也會非常快的,寫一個增刪改查功能,可能也就30-50行代碼就搞定了。而java就慢多了,首先要想一下用什麼框架,目前基本上就是spring了,然後就是配置各種資料庫,過濾器,servlet,決定是用mybatis還是hibernate,然後考慮代碼之間的傳遞,然後考慮事務。。。然後不停調試,一改代碼可能就是幾分鍾信笑的等待時間,可想而知。

3.php的表面思路更清晰。

什麼是表面思路,就是你看到的東西就是真正做出來的東西,比如echo"helloworld",就是輸出helloworld,而java則不同,你可能是寫response中,可能是寫在modelattribute中,也可能就是return了該字元串,然後不知道怎麼的,它就顯示到頁面上了。

4.php佔用內存少。

php是進程式處理問題的,佔用內存相當少,可以說,你在一台機器部署50個項目沒有任何問題,只要訪問量不上來,搞得定。而java就不行了,java每啟動一個項目,本身就得耗盡許多內存,比如在一台8g內存的機器上,一般跑上2個項目就差不多了。

說了這php的好處,難道java就沒有好處嗎?那是不可能的。

1.java組件多。

我個人覺得單是這一點就蓋過其他所有優點了,因為組件多,意味著用的人多,群眾的眼睛是雪亮的。所以,java一定是好的,它已經積淀了太多的東西,不是一門新型語言能夠隨便替代的。你想要做什麼,好好搜索java組件,可能都有你需要的功能,特別對於當下最流行的大數據產業,java更是占據一方。而php在這種場謹鏈景就有點無能為力了。

2.java線程池,連接池,非同步化方便。

其實這一點和第一點也很相似,也是因為組件多,所以要使用線程池連接池都很方便,這對於高並發高性能的場景來說,是絕對必要的。因為java的運行原因就是多線程的,所以不用每次都去初始化很多基本的東西,這省去了太多的時間,也因此大家可以忍受伺服器啟動的緩慢過程,因為只有一次。而php則是多進程的,每次都需要重新載入所有需要的代碼,也因此無法將一些常用數據保存在內存,連接池也不大好做,非同步操作更是一個大短板。

3.java是真正意義上的邏輯清晰。

因為,java中,你可以從一個進入可以藉助IDE工具分析到最深層次的邏輯操作,對於每個欄位,都可以清晰明了,這其實是介面和完全對象的一個使用優點。而php則做不了或者說很少有人費那勁去做這種事情,php可以說是半面向對象半面向過程開發,所以,在調用過程中插入幾個自定義的函數調用是很正常的,那麼你再想通過簡單的IDE去分析調用鏈就不那麼容易了。比如,對於第三方提供的介面,php就很難清楚的看出介面返回了什麼,除非你把它列印出來,但是列印出來也不一定對,因為有些返回值的數據不一定有體現。這對於理解代碼來說,增加了一個大大的門坎。

4.雖說java編譯比較煩,但是可以為你提前發現錯誤。

java的編譯的確比較耗時,但是如果有明顯的錯誤,編譯是不會通過的,這就給你一個重新檢查代碼的機會。而php則不會,不管你寫得多爛,都不會給你提示什麼,而許多時候,往往就因為少寫了個;分號,導致你排查數小時。

5.java遠程調用方便,rmi,hessian,bbo。

不管怎麼樣,遠程和本地調用都很方便的知道相關的信息,而且java的同語言調用不是採用純粹的http調用,而且維護一定的連接,從而大大提高性能。而php也有遠程調用,但是相對來說就弱許多了。

其實沒有問題是沒有絕對的好壞的,存在即合理。只是應用場景不一樣罷了。

『柒』 大型網站中,php和java是怎麼結合的

PHP+JAVA的架構,特別是對於有復雜的用戶交互及高並發及後端還有復雜的業務的網站來說,如電商類網站,前端用PHP,可以做到快速開發,部署不用重啟,同時nginx + fastcgi + php的組合也是經得起高並發考驗的。後端的復雜業務處理(如訂單處理,購物車,庫存相關的)使用java來做實在是太合適了。不信你可以試試!

閱讀全文

與javaphp大型網站相關的資料

熱點內容
acmc用什麼編譯器 瀏覽:230
golangweb編譯部署 瀏覽:923
怎樣踩東西解壓 瀏覽:969
單片機核心板外接鍵盤 瀏覽:396
怎樣打開自己的微信文件夾 瀏覽:424
單片機紅外測距原理 瀏覽:268
phpxdebug擴展 瀏覽:757
建築樓層凈高演算法 瀏覽:1000
怎麼關閉智聯app求職狀態 瀏覽:418
pdf的文件夾怎麼列印 瀏覽:752
延拓演算法初值 瀏覽:786
首次適應演算法都不滿足的話怎麼辦 瀏覽:19
php56加密 瀏覽:556
金立手機app怎麼設置浮窗 瀏覽:496
程序員沒有社會地位 瀏覽:963
榮耀app怎麼解鎖 瀏覽:594
php程序員學歷 瀏覽:636
c語言編譯可以嗎 瀏覽:201
脂硯齋重評石頭記pdf 瀏覽:756
三星冰箱壓縮機哪裡產 瀏覽:429