當前位置:
首頁 > 最新 > 我來談談PHP和JAVA的區別

我來談談PHP和JAVA的區別

這裡的標題寫的是談談PHP和JAVA的區別,其實是委婉的說法,其實別人是想聽PHP好還是JAVA好!!! 從而從中找到存在感!!!

因為由於我是從多年的php開發轉到java開發的。所以最,不時的有好幾個同事問我,你覺得java好還是php好。我每次的回答都是,各有千秋吧,各有各的好處,這是最實際的答案。

然後臨了,去想想到底都有什麼差別。今天我就來仔細總結下,php與java到底有啥差別吧。

1. php即寫即用的。

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

2. php寫東西快。

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

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

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

4. php佔用內存少。

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

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

6. java組件多。

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

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

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

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

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

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

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

10. java遠程調用方便,rmi,hessian,dubbo。

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

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

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 推酷 的精彩文章:

小團隊中人人都要會用點Docker
羅子雄:好的設計是宜家和麥當勞
IT行業需要更好的命名嗎?
Flask RESTful API 開發-基礎篇

TAG:推酷 |

您可能感興趣

LOUIS VUITTON和麥當勞不搭?這份LV鬆餅早餐請給我來一份!
硬體資訊:老闆,給我來個GF代工的AMD CPU!AMD 7nm工藝將由GF,TSMC同時代工
地球,我來了 RUKI LEO
CPU怎麼選,我來教你挑---裝機指南之CPU篇(一)
不知道該買小米MIX2S 還是 VIVO NEX?我來對比下
上手體驗了兩周 OPPO Find X,我來談談優缺點!
寶格麗BVLGARI 你的風格我來猜...
LV、CHANEL全球大比價!我來告訴你哪裡買大牌包最便宜!
ChinaJoy,B站展台我來啦
Birdman:"那什麼, 鞋架上每個配色的YEEZY都給我來一雙" | TransWhat
用了一段時間的iPhoneXSMax,我來談談優缺點!
外星人硬核揭秘!戴爾及ALIENWARE"我來,定未來·創新日"搶先看
pis不願轉型選擇離開YY,zhou神發博支持:DOTA對我來說也是信仰
這樣的手機給我來一打,HUAWEI nova 2s真機上手體驗!
OPPO Find X:對不起,我來晚了!
搞笑GIF:TA對我來電嗎?測試一下
眾說紛紜的 LV By Virgil Abloh 首場男裝秀,對我來說,驚喜過後是感動
ZARA、H&M 竟然還有這麼好看的款?請給我來一打
ZARA、H&M竟然還有這麼好看的款?請給我來一打
讓我來康康今年的ChinaJoy展的VR行業怎麼樣了