1. 程式人生 > >我來談談PHP和JAVA在web開發上的的區別

我來談談PHP和JAVA在web開發上的的區別

高性能 分鐘 turn 小時 gpo 處理 body 功能 而且

這裏的標題寫的是談談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的運行原因就是多線程的,所以不用每次都去初始化很多基本的東西,這省去了太多的時間,也因此大家可以忍受服務器啟動的緩慢過程,因為只有一次。而php則是多進程的,每次都需要重新加載所有需要的代碼,也因此無法將一些常用數據保存在內存,連接池也不大好做,異步操作更是一個大短板。

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

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

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

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

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

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

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

我來談談PHP和JAVA在web開發上的的區別